Bohdan Pukhno

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.

RoleDesigned and shipped all three generations
Chain(s)Ethereum, Polygon, Base, BSC, and Swarm’s other target mainnets
StackSolidity, Chainlink price feeds, Foundry
StatusLive, PeckShield-audited
Sourceopen-dotc · V1 contracts · V2 contracts
AuditPeckShield, Feb 2025
Linksdocs · 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.