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
AssetandOfferStructdata - 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
| Network | dOTC v2 Contract Address |
|---|---|
| Polygon Mainnet | 0x22593b8749A4e4854C449c30054Bb4D896374fa1 |
| Ethereum Mainnet | 0x0a103ee32f4209926d8ba7e528aff8a831ed3dae |
| Base Mainnet | 0xcffd07806f6a8fc623d6d61ddc3532bf1d2eb8b9 |
For a high-level architectural diagram or integration flow, please contact the Swarm team or visit the Swarm GitHub.
.png)