SOL-slot-block-tps-priority fee-epoch-mainnet

Fees

0.30% of value at the current rate, charged as 0.15% from each side in that side's own asset.

The split

Nothing is ever added on top of the listed price. The buyer is debited exactly the value they agreed to and is delivered 0.15% fewer tokens. The seller is credited 0.15% less quote. Both halves land in the protocol treasury inside the same transaction.

Amount
Buyer paysvalue, exactly as listed
Buyer receivestokens × 0.9985
Seller receivesvalue × 0.9985
Protocol collects0.15% in quote + 0.15% in token

Worked example

Buying 1,000 tokens listed at 1 USDC:

Amount
You pay1,000.00 USDC
You receive998.50 tokens
Seller receives998.50 USDC
Protocol fee1.50 USDC + 1.50 tokens

Why the listed price is never a valid bound

The on-chain price bound is measured per token received, and the buyer receives fewer tokens than they pay for. Always pass maxPricePerToken from quoteFill() or quoteBidFill(): a bound equal to the listed price reverts with PriceBoundExceeded every time.

Rounding

Every rounding decision favours the protocol by at most one base unit. Fee divisions round up, delivery amounts round down, and the invariants hold at settlement:

  • buyerPays = value, and value − sellerReceives = quoteFee
  • amount − buyerReceives = tokenFee, exactly
  • a fill so small the token fee would consume it is rejected with ZeroTokensReceived

Splitting a purchase into many small fills is never cheaper than buying at once, and never reduces what the protocol collects.