Fees and statements
Fee routes return the rate and calculation source instead of asking a client to infer a charge from the product name. All monetary values and rates are exact decimal strings.
Pre-trade preview
POST /api/v1/orders/preview accepts the order fields without placing an order. It returns:
- the product and quote unit;
- the desk's fee tier;
- available notional and its price source;
- likely maker or taker role when one can be projected; and
- maker and taker fee projections.
A null projected fee can mean the notional or rate is unavailable. Do not render it as zero. Preview and placement are separate requests, so a preview is not a promise of the later liquidity role or fill price.
Fee schedule
GET /api/v1/fees/schedule returns the card in force for the selected desk. Filter with ?product=SPOT, FORWARD, RFQ_BLOCK, or LISTING.
Rate bases can be basis points of notional, USD per contract, or a flat period amount. A signed fee can be a charge or rebate. Use the returned minimum, maximum, and effective time rather than embedding rates in a client.
Statements
GET /api/v1/statements requires an inclusive period_start and exclusive period_end, both RFC 3339 timestamps. The response includes trade charges, trade rebates, listing charges, exact net, cent-rounded net due, and itemized lines.
Totals cover the requested period even when lines_truncated is true. In that case the trade-line itemization reached its 1,000-line response ceiling.