dOTC v2
Decentralized OTC settlement for regulated tokenized assets: atomic escrow swaps, Chainlink price feeds, KYC/AML-gated where required. Third generation of the protocol, and the one that’s live in production today.
| Role | Designed and shipped all three generations |
| Chain(s) | Ethereum, Polygon, Base, BSC, and Swarm’s other target mainnets |
| Stack | Solidity, Chainlink price feeds, Foundry |
| Status | Live, PeckShield-audited |
| Source | open-dotc · V1 contracts · V2 contracts |
| Audit | PeckShield, Feb 2025 |
| Links | docs · live app |
Three generations, three different problems
- PermissionedDotc gated every swap through Permission Manager: KYC/AML-verified identity NFTs assigned a compliance tier, and each tier capped the swap size (a starter tier around €10k, an unlimited tier above it).
- OpenDotc V1 was a full rewrite, not a fork, aimed at one goal: stop forcing KYC/AML into the protocol’s core. Compliance became an optional pluggable authorization contract instead of a hard dependency, so a market maker could run permissioned or fully open.
- OpenDotc V2 kept V1’s architecture but replaced fixed-pair offers with price-feed-driven dynamic offers: instead of committing to a fixed amount of token A for token B, a maker posts a price via Chainlink feed and the swap executes when that price is met, closer to a limit order than a static pair.
V1 and V2 both live in the same repository, side by side under contracts/OpenDotc/, with their own deploy scripts and test suites; the links above point at each generation directly. PermissionedDotc predates the open-source release and has no public repository of its own.
Passed PeckShield audit as OpenDotc V2; ships today as dOTC v2, live across Swarm’s target mainnets.