The taker fee is currently bps. It can change, so read
fee_bps
from each quote instead of hard-coding it.The rate is fixed per quote
Each quote’sfee_bps is set when the quote is created, and a match always uses
the rate on the accepted quote. A rate change only affects new quotes.
Requesters see the rate on GET /rfq/quote and on RFQOffer events. Quoters see it
on GET /rfq/get-quotes. Each match on GET /rfq/matches records fee_bps and the
fee_amount charged.
Computing the fee
Amounts and prices are integers scaled by 1e6 (see wire formats). Both steps round down:
Accepting returns
400 if the requester can’t cover their side, fee included.
Worked example
Buy 5 YES tokens at 0.75:amount is 5000000 and price is 750000.
- notional = floor(750000 × 5000000 / 1000000) =
3750000, or 3.75 USDC. - fee at bps = floor(3750000 × / 10000) =
{Math.floor(3750000 * takerFeeBps / 10000)}. - The requester pays USDC and receives 5 YES tokens.
In the ledger
Each fee is a separatefee entry on GET /custody/get-ledger, with the match id
as its ref_id. A zero fee writes no entry.