Fees

The protocol fee is charged in basis points and falls as the trade grows. The bands are expressed in US dollars at the time of the trade.

Trade sizeFeeBasis points
Up to $1,00015 bps0.15%
$1,000 – $10,00010 bps0.1%
$10,000 – $100,0007 bps0.07%
Above $100,0005 bps0.05%

The boundary is inclusive. A trade of exactly $1,000 is charged at 15 bps, not 10. The bands are a step function, not an interpolation, so there is never a size at which splitting a trade is cheaper than filling it whole at the next tier — the rate only ever falls.

What that costs in practice

TradeRateProtocol fee
$50015 bps$0.75
$5,00010 bps$5.00
$50,0007 bps$35.00
$500,0005 bps$250.00

Calculating it

The SDK exports calculateProtocolFee and the tier table itself as FEE_TIERS. The daemon reimplements the same calculation in Rust and is conformance-tested against the TypeScript implementation, so the two cannot silently diverge.

import { calculateProtocolFee } from '@dash-intents/sdk';

calculateProtocolFee(500);      // 0.75   — 15 bps
calculateProtocolFee(5_000);    // 5.00   — 10 bps
calculateProtocolFee(50_000);   // 35.00  —  7 bps
calculateProtocolFee(500_000);  // 250.00 —  5 bps

Where the fee goes is described inTreasury.