Sidedeal, explained
How a trade moves, what it costs, and the parts you should understand before approving anything.
The short version
Sidedeal matches two wallets on a price for a block of tokens. One side names the terms, the other accepts, and both legs settle together in a single Solana transaction. Because no liquidity pool is involved, a large trade here leaves the public price where it was.
Why size breaks pools
An automated pool quotes from a curve. Each slice of a big sale gets a worse rate than the slice before, so the seller's average price drops and the last fill becomes the new market price. Our estimate treats the pool as constant product, with half of its reported liquidity sitting on each side. For a sale of D dollars into a side holding R, the average fill is R / (R + D) of spot and the price afterwards is the square of that.
| Sale size, $2M pool | Seller's average price | Price afterwards |
|---|---|---|
| $10K | -1.0% | -2.0% |
| $50K | -4.8% | -9.3% |
| $100K | -9.1% | -17.4% |
| $250K | -20.0% | -36.0% |
| $500K | -33.3% | -55.6% |
The first column is what the seller gives up. The second is the drop every other holder sees on their chart. Real coins trade across several pools with different curves, so read these as rough guides. Pool check runs the same numbers on live liquidity.
Order types
- Bid. You offer SOL for up to a set amount of a coin. Any holder can fill it.
- Ask. You offer coins you hold for a set amount of SOL. The desk confirms your balance before listing it.
- Private offer. A bid or ask addressed to one wallet. It never appears on the public book and nobody else can fill it. The Wallets page helps you find large holders to send one to.
- Counter-offer. When a private offer reaches you at the wrong price, reply with your own. It goes back only to the wallet that contacted you.
Every offer has a lifetime of one hour, one day, three days or seven days, and you can withdraw it sooner. Turn on partial fills if you're happy for someone to take a slice and leave the rest listed.
Setting a fair price
For a deal to happen, it has to beat the pool for both people. The seller compares you to what dumping would pay; the buyer compares you to what buying the same size from the pool would cost. Anything between those two numbers works for both. The ticket on Make offer draws that band and warns you when your price lands outside it.
Signing
Listing an offer, withdrawing one and linking Telegram each ask your wallet to sign a plain-text message. A signed message can't move funds; it proves the terms came from your wallet. Each message carries a one-time code that expires after ten minutes, so it can't be reused.
Custody and settlement
Nothing leaves your wallet when you list. Instead you grant the desk a standard SPL allowance sized to your open offers on that token account. For a bid, your SOL is first wrapped into your own wrapped-SOL account and the allowance is set there. When someone accepts, one transaction carries both transfers and the fee; if any part fails, none of it happens.
Fees
- The person accepting an offer pays 0.5% of its SOL value, inside the same transaction. You see the exact figure before signing.
- Listing is free. Makers never pay the desk.
- If the desk sets a holder token, takers holding $5 or more of it pay nothing. The balance is read from the chain at the moment of the trade.
- Solana network costs are separate and fall on the person accepting.
Sharing and alerts
Each public offer doubles as a Solana Blink. Post its link on X and anyone with Blinks enabled in their wallet can accept it from the post. Link Telegram from Positions to get a message when an offer fills, when a private offer arrives, or when someone counters you.
Trust model
The allowance approach is easy to audit by hand, and that same simplicity is its limit. The chain checks only that the desk key is your approved delegate and that the amount fits the allowance.
- The server enforces the deal, not the chain. The rule that funds move only in a transaction that pays the maker lives in our code. Anyone who obtained the desk key could pull every approved amount.
- Allowances don't expire. On Solana an approval stays until you remove it, even after its offer is gone. Positions shows leftover allowances and removes them in one click.
- Your risk has a ceiling. The desk can reach only the amount you approved, on that single token account, and nothing else in your wallet.
An audited escrow program would move that rule on chain. Sidedeal doesn't have one yet, and this code hasn't been audited. Approve only what you could lose.
Before you trade
- Size still has to exit somewhere. The buyer now owns the position, and if they later sell it through the pool, the drop happens then.
- Ask why it's cheap. A holder happy to unload a large position below market may know something you don't.
- Trades are public. Every fill is visible on chain; it simply skips the pool.
- Markets move fast. A good price now can look bad in an hour. Short lifetimes and quick withdrawals help.
- Check the mint. Any coin can be listed by its address. Compare the mint on the coin page with an official source.