Skip to content
OffpoolSOL
Make offer

How Offpool works

What the desk does, what it asks you to trust, and which parts of this first edition are real.

What this is

Offpool is a place to agree a price on a whole bag with one other wallet. You post a bid or an ask, or a private offer to one wallet you can see on chain. When the other side takes it, tokens and SOL swap in a single transaction, both legs or neither. No pool is involved, so the pool's price does not move.

Why not the pool

A pool prices each trade on a curve, so a sale that is large against the pool fills worse and worse as it goes, and the price it leaves behind is what everyone else sees on the chart. Two numbers come out of every big sale and they are different: the average fill is what the seller loses; the chart move is what the market sees.

The dump-cost formula

Each pool of a coin (read from DexScreener) is modelled as constant product, x × y = k, with half its USD value on each side at its own price. Selling dx tokens into one pool returns dy = y × dx' / (x + dx'), where dx' = dx × (1 − fee). A sale is cut into 400 slices and each slice goes to the pool that pays most for it at that moment, the way an aggregator routes. The chart move is the deepest pool's price after the sale against before.

On one round $2M pool with no swap fee, the model gives:

SaleAverage fillChart movesOn Offpool
$10K−1.0%−2.0%0.0%
$50K−4.8%−9.3%0.0%
$100K−9.1%−17.4%0.0%
$250K−20.0%−36.0%0.0%
$500K−33.3%−55.6%0.0%

Real liquidity sits across several pools and curves. Concentrated pools can be cheaper near the price and far dearer past a range edge, so every figure on the site is an estimate, and Pool check shows Jupiter's live route for the same size beside it.

Bids, asks, private offers

  • A bid offers SOL for a coin, up to a size. Anyone holding the coin can sell into it.
  • An ask offers a bag for SOL. Its tokens are checked in your wallet before it is listed.
  • A private offer names one wallet. It is not in the public book, and the desk co-signs a fill only for that wallet.
  • An offer stands for 1 hour, 1 day, 3 days or 7 days, may allow partial fills with a smallest fill, and can be cancelled at any time.

Pricing an offer

The ticket starts from the market price and lets you set the total in SOL. Before anything is signed it shows both sides against the pool: what the seller would get by selling the same bag into the pools, and what the buyer would pay to buy it through them. When either side would do better in the pool, the ticket says so.

What you sign

Making an offer starts with one plain-text message in your wallet. It is not a transaction and it is not a sign-in request. The server rebuilds this text from the fields it receives and accepts your signature only on that exact text, so no term can differ from what you saw. An example, with the values you would choose in angle brackets:

Offpool offer
I sell tokens for SOL, wallet to wallet.
Side: ask
Token: COIN (<the coin's mint>)
Amount: 25,000 COIN (25000000000 base units)
Total: 1.2 SOL (1200000000 lamports)
Partial fills: yes, at least 2,500 COIN
Offered to: anyone (public)
Expires: <now + the time you chose>
Taker fee: 0.3% of the SOL leg, paid by the taker. Maker fee: none.
Desk key: <the desk key, shown at the end of this page>
Wallet: <your wallet>
Nonce: <one-time code>
Signing this message sends nothing and moves nothing.

A cancel is signed the same way: four short lines naming the offer, your wallet and a one-time code.

What you approve

After the terms, one transaction sets an SPL token allowance: your token account names the desk key as its delegate for an exact amount (for a bid, your SOL is first wrapped into wSOL in your own account). Offpool simulates it and lists what it approves before your wallet asks. A token account has one delegate at a time, so several offers on one coin share one allowance that covers exactly their sum. The allowance shrinks with every fill and does not expire by itself: Positions shows what is left after a cancel or an expiry and revokes it in one click.

The desk key signs a fill only when all of this holds, checked from the transaction's bytes and then by simulation: you are paid exactly the signed price (or receive exactly the signed tokens); the desk moves no more than the allowance and no more than is left of the offer; the mint and price match what you signed; and the transaction holds nothing outside a short list (compute budget, SOL transfers from the taker, creating the taker's token account, the two transfers, closing the taker's own wSOL account on a bid). The desk is a read-only signer: it never pays and is never paid.

Where funds sit

In your wallet, until a fill. Offpool holds no deposit and no balance of yours. The taker's fee goes straight to the treasury inside the fill.

Fees and limits

Taker fee0.3% of the SOL leg
Maker feenone
One offer, at most2 SOL (its price, or its market value when higher)
Open offers per wallet, at most5 SOL
Fee address (treasury)AteSaxiF9DU8qoK9oqhjD9wTaoSPXgVrD6qiBTCHYp1u

Who you are trusting

  • The desk key. A hot key on Offpool's server, stored encrypted and opened only by a separate signer process that checks every fill. Whoever held it could move what you approved, up to your allowance. A monitor matches every transaction the key signs on chain to a recorded fill and stops all fills when one does not match.
  • Allowances do not expire. They last until they are used or you revoke them.
  • Not audited. This first edition has its own tests, including attacks on the signer, but no outside audit.
  • Market data. Prices come from Jupiter and pools from DexScreener; when either is wrong, an estimate is wrong.

Risks

  • The other side may know more than you. Someone who wants out of a bag in private may know something you do not. The price is between the two of you.
  • Check the mint first. Every ticket shows the mint's signals: a mint authority can print more, a freeze authority can freeze accounts. Offpool refuses mints whose transfers run code or take a fee.
  • A leftover allowance is a standing permission. Revoke it when you no longer need it.
  • A fill co-signed in the last minute can still land after a cancel. The desk stops co-signing at once; one already signed stays valid until its blockhash expires, about a minute.
  • No promise of a counterparty. An offer may never be taken.

This edition

Real now: the delegate desk, the signer and its checks, the monitor, the market data and the pool model, all on Solana mainnet. Written and tested on a local validator, not deployed: an escrow program where an offer's tokens or SOL wait in an on-chain vault that only a fill or the maker's cancel can release.

The desk key

Revoke from any wallet or tool, without this site, by revoking the delegate on your token account. The desk's public key:

96W8P3pHzjnPtojit18cz9BNDkFgFpaeMnoo5HwViyCy

See your allowances