Sell SRC-20
Source and verification
- Owning repository
- bitcoinuniverseio/stampdex (private application source)
- Source path
- orders prepare-listing and finalize, listing PSBT fingerprint validation
- Applicable release
- continuous deployment, verify with GET /api/version
- Chain and network
- bitcoin / mainnet
- Lifecycle
- stable
- Last verified
- 2026-09-01
- This page
- Edit on GitHub · Bitcoin Universe platform
For: a holder with a supported wallet. Goal: a live listing on the book at your exact price. Chain and network: Bitcoin mainnet. Version: continuous.
Safety: signing a listing commits those tokens to the listing escrow for as long as the listing lives. It does not lock the rest of your wallet. Cancelling needs your signature, so nobody else can cancel or alter your listing.
Prerequisites
Section titled “Prerequisites”- A supported wallet holding the tokens. Listing has been run end to end through Universe Wallet and UniSat. OKX Wallet cannot list here at all, and StampDEX hides the action rather than showing a button that fails.
- A little BTC for the network fee.
- A price in sats per token, and a total of at least 2,000 sats.
- Open the token page and choose to sell.
- Set amount and price. StampDEX shows the resulting total, the 1.5% seller service fee with its 500 sat minimum, and the network fee, before anything is signed.
- Provide the marker output if you have none. The listing flow needs a small anchor output of 548 sats. If your wallet has none, StampDEX builds that transaction first and your wallet signs it too.
- Sign the listing. Your wallet shows the listing transaction. Your signature
covers your own input only, using
SIGHASH_ALL | ANYONECANPAY, which is why the rest of your wallet stays free while the listing sits on the book. - The listing goes live at your exact price.
StampDEX checks the signed transaction against a structural fingerprint of the one it prepared, and the escrow addresses are read from the stored draft rather than accepted from the browser. A transaction that does not match is refused rather than published.
Expected result
Section titled “Expected result”An order in state Open, visible on the book and in your portfolio, with your amount and your price.
How to verify
Section titled “How to verify”curl "https://stamp.api.bitcoinuniverse.io/api/v1/orders?tick=KEVIN&status=open"Your listing appears with sellerAddress matching yours, and
priceSatsPerToken * amount equal to totalPriceSats.
While the listing is live
Section titled “While the listing is live”- Cancel any time before a sale. It needs your signature. See Cancel a listing.
- You cannot edit the price in place. See Change a listing price.
- A buyer who locks and does not pay costs you nothing. The lock lapses within about half an hour and the listing returns to the book.
- An unsigned draft disappears after 30 minutes. If you prepared a listing and walked away, prepare it again.
When it sells
Section titled “When it sells”The buyer pays, the payment confirms, the balance is verified, and settlement delivers the tokens and pays you the total minus your service fee. The order page names each state and each transaction id. See Settlement lifecycle.
Common failure states
Section titled “Common failure states”| You see | What happened | What to do |
|---|---|---|
| “Minimum total payment is 2000 sats” | Amount times price is below the floor | Raise the amount or the price |
| “No stamp UTXO attached and no fallback dust UTXO (548 sats) available” | Your wallet has no anchor output and none could be built | Let StampDEX build the dust output first, then list |
| “Listing draft has expired” | More than 30 minutes passed between preparing and signing | Prepare the listing again |
| “signedListingPsbtHex does not match the prepared listing transaction” | What was signed is not what was prepared | Do not retry blindly. Reload and start again, and report it if it repeats |
| “The listing anchor is spent or missing” | You spent the anchor output elsewhere | Use the repair path, or cancel and relist |
| “Order already has a payment transaction and cannot be cancelled” | A buyer is already paying | Let settlement finish. The trade is in progress, not stuck |
Recovery path
Section titled “Recovery path”A listing whose anchor was spent, or whose backing balance moved, is not left on the book to waste a buyer’s time: the collateral check removes it when it proves invalid, and a diagnosis route reports which specific condition failed rather than a generic error. See Recovery.