Protocol Fees
One rate, set at deployment, capped in code.
- Hard cap
- 1.00% (100 bps), enforced in
Limits.sol - Deploy-script default
- 0.30% (30 bps)
- Applies to
- both sides of a swap
- Denominated in
- the market's quote asset
Worked example
trade size 1,000 NVDA
protocol fee 30 bps
protocol accrual 3 NVDA
booked as: (poolId, NVDA) => protocolAccrued += 3Nothing is converted. A DOG/NVDA market accrues NVDA; a MEME/ETH market accrues ETH. The treasury sweeps each token separately.
Frozen per market
The rate in force for a market is the rate written into its frozen configuration at launch. The owner can change the factory's default with setProtocolFeeBps, and that affects new launches only — an existing market's fee is read from a struct nothing can write to.
Where it ends up
Accrued protocol fees sit in TapeFeeVault until sweepProtocol(token) moves them to the treasury address. The function is permissionless to call and the destination is owner-set; the caller cannot redirect it.
TAPEZERO is an independent protocol and is not affiliated with Robinhood, Uniswap or Chainlink. The contracts are unaudited. Nothing here is investment advice.