Fees and prices
| Rule | Value |
|---|---|
| Marketplace fee | 2.5% of the price, rounded up, minimum 1,000 sats |
| Who pays it | The taker: whoever completes the trade |
| Minimum price | 5,000 sats for every listing, reprice, counter, and offer |
| Maximum ask | 100 BTC (10,000,000,000 sats); funded offers do not have this ask cap |
| Units | Integer satoshis everywhere; large raw asset quantities are decimal strings |
A price below the minimum is refused with price_below_minimum; the error body
carries minimum_price_sats.
Compute the fee with integer arithmetic:
const fee = Math.max(1_000, Number((BigInt(priceSats) * 250n + 9_999n) / 10_000n));// 5,000 -> 1,000 40,000 -> 1,000 100,000 -> 2,500 100,001 -> 2,501Buying a listing
Section titled “Buying a listing”The buyer is the taker. The buyer pays the listed prices, the marketplace fee, and the network fee; each seller receives exactly their listed price.
The quote from POST /v1/fills/request states every part before you sign:
{ "subtotal_sats": 100000, "platform_fee_sats": 2500, "network_fee_sats": 1240, "total_sats": 103740}For a multi-item cart the fee is computed on the cart subtotal.
Making an offer
Section titled “Making an offer”Offer funding covers the price and, for attached delivery, the retained asset UTXO value. The accepting seller pays the marketplace and settlement fees.
- A detached-delivery funding slot is worth exactly the price.
- An attached-delivery slot adds the 330-sat asset UTXO the buyer keeps.
- A collection offer’s Taproot offer output is worth the price; its funding parent pays no network fee (the seller’s acceptance pays for the package).
Creating exact-value funding slots with POST /v1/offer-funding-templates is an
ordinary Bitcoin transaction, so that one step costs you a network fee.
Accepting an offer
Section titled “Accepting an offer”The seller is the taker. The marketplace fee and the settlement’s network fee
(for a collection offer, the parent-plus-child package fee) come out of the
seller’s proceeds. Every accept quote states seller_proceeds_sats,
platform_fee_sats, and network_fee_sats before anything is signed. Collection
offer acceptance also takes an optional seller_min_net_sats floor.
A few funding slots created under an older bidder-pays policy carry a prefunded
fee (prefunded_fee_sats). The seller then pays only the remainder.
For example: price 100,000, asset UTXO 330,
3 sat/vB over a 600 vB package. Fee 2,500, network 1,800, seller receives
100,000 + 330 - 2,500 - 1,800 = 96,030 sats. At the 5,000-sat minimum price and
a high fee rate, the proceeds can go negative, and the accept is refused.
Verify the quoted transaction
Section titled “Verify the quoted transaction”- The seller is derived from the listed UTXO’s scriptPubKey.
- A listing price is the verified seller payment output in the signed PSBT minus the listed asset UTXO’s value.
- An offer price is the exact value of its funding output.
- A buyer pays exactly what the stored template says, or completion is refused.
Use the returned economics for review, and verify that the PSBT matches your intended asset, payment, fees, and destination before signing.
Network fee rates
Section titled “Network fee rates”Composing routes take an optional fee_rate in sat/vB, fractional allowed, from
0.1 to 500. Omit it and the server picks the current network rate.
GET /v1/fee-rate returns the rates the server sees.