Products
OTC Trading

OTC Trading

Trade tokens directly with other users, across any blockchain. Set your own prices, accept multiple payment options, and trade on your terms.

Brtr OTC Trading

What is OTC Trading?

Think of it like a crypto marketplace. Instead of selling to a liquidity pool and getting whatever price the algorithm gives you, you:

  • Set your own price — You decide what's fair
  • Choose your payment — Accept ETH, USDC, or any token you want
  • Trade across chains — Sell on Base Sepo, get paid on OP Sepo
  • No price swings — The price you see is what you get

How It Works

Same-Chain Trade Flow

When you're both on the same blockchain, it's simple:

You List Your Tokens

Your tokens are held safely while you wait for a buyer.

Buyer Clicks Buy

They send payment in one of the tokens you accept.

Everyone Gets Paid

You get their payment, they get your tokens. Instant.

Time: Instant (happens in one transaction)

Order States

Orders progress through the following states:

StateDescription
OpenOrder is active and accepting fills
AwaitingConfirmationFill initiated, seller tokens locked
AwaitingFinalizationConfirmation sent, waiting for finalization
CompletedTrade successfully completed
CancelledOrder cancelled by seller

Creating Orders

As a seller, you have complete flexibility:

What You're Selling

  • Pick any token in your wallet
  • Set the amount you want to sell

What You'll Accept

Here's where it gets interesting — you can accept up to 10 different payment options. For example:

  • Option 1: 1,000 USDC on OP Sepo
  • Option 2: 0.5 ETH on OP Sepo
  • Option 3: 1,000 DAI on Base

Buyers pick whichever payment works for them.

Pro Tip: More payment options = more buyers. Give people choices and your listing fills faster.

Example Order

Offering: 1,000 USDC on Base
Accepting:
  Option 1: 1,000 USDC on OP Sepo
  Option 2: 0.5 ETH on Monad Testnet
  Option 3: 1,020 USDC on Base (same-chain premium)

Filling Orders

As a buyer, you can fill any open order:

  1. Browse the marketplace
  2. Find an order with tokens you want
  3. Choose from available payment options
  4. Confirm the fill transaction
⚠️

For cross-chain fills, you'll need to send enough native tokens (ETH) to cover gas on both chains. The UI calculates this automatically.

Fees

Simple pricing. We only charge when trades complete:

Who PaysHow MuchWhat It's On
Seller0.5%Your tokens
Buyer0.3%Their payment

That's it. 0.8% total.

Example

Let's say you're selling 1,000 USDC for 1,000 DAI:

  • You receive: 997 DAI (they pay 1,000 DAI minus 0.3% fee)
  • Buyer receives: 995 USDC (you list 1,000 USDC minus 0.5% fee)
💡

Free to list, free to cancel. You only pay when someone buys from you.

Cancellation

Sellers can cancel their orders at any time while in the Open state:

  • Full token amount is returned (no fees)
  • Cancelled orders cannot be filled
  • You can create a new order with different terms
⚠️

Orders in AwaitingConfirmation or AwaitingFinalization states cannot be cancelled as a trade is in progress.

Recovery & Edge Cases

Cross-chain trades have built-in recovery mechanisms for edge cases:

Message Failures

If a LayerZero message fails to deliver:

  • After 30 minutes, recovery functions become available
  • Buyers can refund escrowed tokens
  • Sellers can have tokens returned via admin recovery

Stuck Orders

For orders stuck in intermediate states:

  • Emergency Finalize — Admin can complete if buyer paid
  • Emergency Refund — Admin can return tokens if trade failed

Recovery functions have a 30-minute timeout to prevent race conditions with in-flight messages.

Tips for Success

  1. Start simple — Try trading on the same chain first to get the hang of it
  2. Check your tokens — Make sure you're selecting the right token before listing
  3. Price it right — Check current market prices. Too high and no one buys
  4. Have some ETH — You need a bit of ETH for transaction fees (especially cross-chain)
  5. Give it time — Cross-chain trades take a few minutes to complete