Documentation

How OTC works

OTC is an over-the-counter desk for Solana tokens. Buyers and sellers agree a price directly, and size changes hands wallet to wallet instead of being pushed through a liquidity pool. The chart never sees it.

Start here

Overview#

Every memecoin chart tells the same story: someone with a large bag sells into a thin pool, the price falls off a cliff, and everyone else holding pays for it. The seller loses too, because every token they sell fills at a worse price than the last.

OTC removes the pool from the trade. A buyer posts a bid, a seller posts an ask, or one side makes a private offer straight to the other. When both agree, the tokens and the SOL swap between their two wallets. Nothing is sold on the market, so the market price does not move.

For holders

Exit a large position at a known price, without dumping on your own community.

For buyers

Accumulate size without chasing the price up candle by candle.

For everyone else

A chart that reflects demand, not one whale's exit.

Quick start#

  1. 1
    Connect your wallet
    Use the Connect wallet button in the top right. Your wallet is your account; there is nothing to sign up for.
  2. 2
    Pick a coin
    Choose from the top 100 coins on the Home page, search for any token, or start from a bag you already hold.
  3. 3
    Set your price
    Enter how much you want to buy or sell and choose a price relative to the market. The card shows what the pool would pay for the same size.
  4. 4
    Approve the offer
    Your wallet asks you to approve the terms, then to set your side aside. Your tokens or SOL stay in your own wallet; the only cost is a tiny network fee.
  5. 5
    Manage it from Positions
    Your offer is live on the desk. Track it, see bids on your bags, and cancel at any time from Positions.

Why trade OTC#

A pool prices every trade on a curve. The bigger the trade relative to the pool, the further along the curve it travels and the worse its average price gets. On a coin with $2M of liquidity, selling $100K moves the price by nearly ten percent. On the desk, the same trade moves it by nothing.

Through the poolOver the counter
Price you getGets worse with every token soldFixed when the offer is agreed
Effect on the chartA red candle sized to your tradeNone
Who sees it firstEvery bot watching the mempoolOnly the other side
Partial exitsOne swap at a timeTake any part of an offer
Offers

Bids#

A bid says: “I will pay this much SOL per token, for up to this many tokens.” You choose the coin, the size and the price. Any holder of that coin can sell into your bid, unless you make it private.

Bids are usually priced a little below market. A holder is still better off taking it, because selling the same size through the pool would pay even less once slippage is counted. The offer card shows you this number as you set your price.

Asks#

An ask is the other direction: “my tokens are yours for this much SOL each.” You list some or all of a bag you hold and buyers come to you. The desk checks that your wallet actually holds what you list before the ask goes live.

Start from Positions and press Sell OTC next to any of your bags. The amount is filled in for you.

Private offers#

Any offer can be aimed at a single wallet. Only that wallet can accept it, and it stays out of the public offer list. This is how you make an offer on someone else's bag:

  1. 1
    Find the wallet
    Open Bags, paste any address and see every token it holds.
  2. 2
    Choose a bag
    Press Offer on this bag. The coin, the wallet and their full balance are filled in.
  3. 3
    Name your price
    Adjust the size and price, then approve. The holder sees your offer in their Positions.

A private offer only tells the holder what you would pay. It cannot force a sale, and they are free to ignore it.

Expiry and partial fills#

OptionWhat it does
Expires after1 hour, 1 day, 3 days or 7 days. After that the offer closes on its own. The maximum is 30 days.
Partial fills onSomeone can take any part of the offer. What is left stays open.
Partial fills offAll or nothing. The offer can only be taken in full.
Pricing

Pricing an offer#

Prices on the desk are set relative to the live market price. The price card shows your price per token in dollars and SOL, how far it sits from market, and one-tap presets: market, 2%, 5%, 10% and 20% below. The minus and plus buttons move it one percent at a time.

Two reference points matter when you choose:

ReferenceMeaning
Market priceThe live spot price from Birdeye.
Pool exitWhat dumping the same size through the pool would pay on average. Any bid above this beats selling on the market.
A bid between the pool exit and the market price is good for both sides. The seller gets more than dumping would pay, and the buyer pays less than buying on the market would cost.

How impact is measured#

Every impact figure on the desk uses the live liquidity of the coin's pools. We model the pool as constant product, with half its liquidity on each side. Selling D dollars into a side holding R dollars fills at an average of R / (R + D) of spot, and leaves the price at (R / (R + D))² of where it started.

For a coin with $2.00M of pool liquidity, that works out as:

Sale sizeAverage slippageChart moves
$10.0K-1.0%-2.0%
$50.0K-4.8%-9.3%
$100.0K-9.1%-17.4%
$250.0K-20.0%-36.0%
$500.0K-33.3%-55.6%

Real liquidity is spread across several pools and curves, so treat these figures as estimates. They have the right shape, and they are exactly the cost an OTC trade avoids.

Safety

Approving the terms#

Posting, cancelling and adding a coin all start the same way: your wallet asks you to approve a short piece of text that spells out exactly what you are agreeing to. That approval is free and cannot move funds on its own. It proves the terms came from you.

This is what your wallet shows when you post a bid:

OTC: post an offer

Side: BID (buy tokens with SOL)
Token: Bonk (DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263)
Amount: 5000000000
Price: 2.9874000e-8 SOL per token
Counterparty: anyone
Partial fills: yes
Expires: 2026-10-30T12:00:00.000Z

Wallet: YourWa11etAddressGoesHere1111111111111111111
Nonce: 3f9a1c0b7e24d8a65f01b2c3
Issued: 2026-10-29T12:00:00.000Z
  • Every term is spelled out. Side, coin, amount, price, counterparty, partial fills and expiry are all in the text you approve.
  • Tied to your wallet. We check the approval against your wallet address before saving anything. No one can post or cancel an offer in your name.
  • Single use. The nonce and timestamp make every approval unique. An approval older than ten minutes is rejected, and the same one cannot be used twice.

Where your funds sit#

Your side of an offer never leaves your wallet until someone takes it. Instead, you give the OTC desk a standard Solana token allowance for exactly the amount on your offer. It is the same mechanism wallets and exchanges use every day, and no custom program is involved.

OfferWhat you approveWhere it sits
Ask (selling tokens)An allowance on your token account for the amount you listYour own token account
Bid (buying with SOL)Your SOL is wrapped, then an allowance for the bid's totalYour own wrapped-SOL account
  • Capped at your offer. The allowance covers your open offers and nothing more. Post another and it grows; a fill or a cancel shrinks it.
  • Checked on-chain. An offer only goes live once the desk reads your allowance and balance on-chain and confirms they cover it.
  • Yours to revoke. Cancel from Positions and the allowance is lowered, or for a bid your SOL is unwrapped straight back to you.

Filling an offer#

Filling is player to player. When you take an offer, the desk builds one transaction with two legs and co-signs it. You approve it in your wallet:

  1. 1
    You pay the maker directly
    Your SOL (or tokens, if you are selling into a bid) goes straight from your wallet to theirs.
  2. 2
    The maker's side comes to you
    In the same transaction, their approved tokens (or wrapped SOL) move from their wallet to yours.

The transaction is atomic: both legs land together, or neither does. If the maker no longer has the funds, or someone else filled it first, it simply fails and nothing moves. You pay the network fee, a fraction of a cent.

The desk's co-signing key can only move what a maker approved, only for a live offer, and only inside a transaction that pays the maker in the same breath. It never holds funds and never pays fees.
Using the desk

Positions#

Positions is your home on the desk. Connect a wallet and it shows:

  • Bids on your bags. Offers aimed at your wallet, and public bids on any coin you hold.
  • Your offers. Everything you have posted, open or closed, with a Cancel button on each open one.
  • Your bags. Every token you hold with its value and the best bid waiting on it. Sell OTC lists it in one step.
  • Coins you added. Every token you put on the desk.

Looking up a wallet#

Bags lets you look inside any Solana wallet. Paste an address, or press ⌘ K (Ctrl K on Windows) to jump to the search field from anywhere on the page. Wallets you look up are remembered on your device for next time.

Markets and listings#

The Home page lists the top 100 coins on Solana by market cap that have real trading behind them. Stable coins, staked SOL, wrapped assets and thin copycat tokens are filtered out, and duplicate tickers keep only the coin with the most holders.

Anything else can be added from Add a bag. Any coin with a live market goes on the desk the moment you add it.

Reference

Risk#

  • Prices move. Memecoins are volatile. An offer that looks generous now can look expensive in an hour. Pick an expiry you are comfortable with and cancel if the market turns.
  • Impact is an estimate. Pool maths uses quoted liquidity. Real execution through a pool can be better or worse.
  • Check the coin. Anyone can add a coin. Always confirm the mint address on the coin's page before you trade it.
  • Private offers are offers. Bidding on someone's bag does not oblige them to sell.

FAQ#

Only the Solana network fee, a fraction of a cent, for the one transaction that sets your side aside. There is no fee from the desk, and your tokens or SOL stay in your wallet.
No. You keep them. You approve an allowance for exactly your offer, and they only move in the same transaction that pays you.
Yes, at any time before it is taken. Open Positions and press Cancel. Your wallet asks you to approve the cancellation, then offers to lower the allowance or unwrap your SOL.
The first transaction to land wins. The second one fails on-chain and nothing moves for that person.
Add it from Add a bag. Any coin with a live market goes on the desk straight away.
It appears in their Positions under Bids on your bags as soon as they connect the wallet you aimed it at.
Your price is below what the pool would pay for that size. A holder would do better selling on the market, so the bid is unlikely to be taken. Raise it until the card shows a positive number.
Any Solana wallet supported by the connect dialog, including Phantom, Solflare and Backpack.

Glossary#

Bag
A holding of one token in one wallet.
Bid
An offer to buy tokens with SOL.
Ask
An offer to sell tokens for SOL.
Maker
The wallet that posted an offer.
Taker
The wallet that accepts an offer.
Spot
The current market price.
Slippage
How much worse than spot a pool trade fills, on average.
Pool exit
The average price a pool would pay for a given size.
Private offer
An offer only one named wallet can accept.
Ready to trade without the candle?
Connect a wallet and see what your bags are worth off-chart.
Get started