Swarm’s dOTC v2 (Decentralized Over-The-Counter) protocol enables peer-to-peer asset trading directly on-chain, combining the flexibility of off-chain price discovery with the security and transparency of on-chain settlement.

This system supports:

  • Permissionless creation of OTC offers (ERC-20, ERC-721, ERC-1155)
  • Dynamic pricing using live oracle feeds
  • Partial or full fills with flexible offer types
  • Escrow-based settlement on Ethereum, Polygon, and Base

Below is a quick guide to the core components of dOTC v2.


RFQ API Integration

RFQ API & dOTC Integration Learn how to fetch live offers using Swarm's REST API and submit corresponding on-chain transactions.

Includes:

  • API Explorer (Swagger UI)
  • How to read offer metadata
  • Contract overview

Creating an Offer

Make an Offer Lock tokens or NFTs into escrow and publish an OTC offer. Covers:

  • Structuring Asset and OfferStruct data
  • Fixed vs Dynamic pricing
  • Whitelisting and expiry settings

Taking an Offer

Take an Offer Accept any public OTC offer using takeOfferFixed or takeOfferDynamic. Covers:

  • Partial or full fills
  • Handling slippage
  • Example scripts

Cancelling an Offer

Cancel an Offer Cancel your own offer to retrieve escrowed assets. Covers:

  • Cancel requirements (timelocks, maker-only)
  • Smart contract usage
  • Refund event details

🔗 Supported Networks

NetworkdOTC v2 Contract Address
Polygon Mainnet0x22593b8749A4e4854C449c30054Bb4D896374fa1
Ethereum Mainnet0x0a103ee32f4209926d8ba7e528aff8a831ed3dae
Base Mainnet0xcffd07806f6a8fc623d6d61ddc3532bf1d2eb8b9

For a high-level architectural diagram or integration flow, please contact the Swarm team or visit the Swarm GitHub.