Taxes and ETH flows
Hook taxes, pool LP fees and the ladder sweep are three different operations. They do not all use the same base and do not add up as a single tax.
This allocation is the one chosen for the new revision. The historical Sepolia pool keeps the old, reversed rates. Check version status and the quote for the pool you use.
The buy tax
The total tax is 3% of gross ETH input, allocated entirely to the team share. For exact-input swaps, it is included in the amount supplied to the router.
| For a 1 ETH purchase | Amount | Destination |
|---|---|---|
| Swap leg | 0.97 ETH | Pool, then LP fees and conversion to CUBIT |
| Team share | 0.03 ETH | Team accounting; possibly a Links share |
For an exact-output purchase, if the pool leg requires x ETH, the total before gas is approximately x / 0.97, with integer rounding. The router enforces the input cap chosen by the user and refunds the surplus.
The sell tax
The total tax is 15% of gross ETH output: 12% for walls and 3% for the team.
| For 1 ETH gross output | Amount | Destination |
|---|---|---|
| Seller’s net ETH | 0.85 ETH | Recipient’s wallet |
| Wall funding | 0.12 ETH | pendingFloorEth, awaiting placement |
| Team share | 0.03 ETH | Team accounting; possibly a Links share |
The seller therefore receives 0.85 ETH, before the gas cost paid separately. To target a net output of x ETH in exact-output mode, the pool must supply approximately x / 0.85 gross ETH, with integer rounding and according to the actual quote.
Sales directly fund the wall reserve. The 12% and 3% are calculated on the sale’s gross ETH: this is not 12% of the 15% tax. If Links is available and a swap has a valid referral, the referrer’s reward comes from the team share, with no additional tax.
LP fees
The Uniswap v4 fee parameter is expressed in millionths:
| Version | Parameter | LP percentage | Status |
|---|---|---|---|
| Requested new version | 100 |
0.01% | Work in progress; not redeployed |
| Currently connected Sepolia | 3000 |
0.30% | Separate historical version |
tickSpacing and a wall’s width are geometry parameters, not another expression of the LP fee rate. The CUBIT pool uses 10-tick spacing in the sources reviewed.
LP fees apply to the swap leg according to the pool’s mechanics. An actual quote accounts for rounding, crossed ticks, liquidity and any v4 protocol fees. Do not apply the tax again to a quote that is already net.
The 15% sweep at rebalance
During a rebalance, 15% of the ladder ETH included in the sweep calculation is transferred to the wall reserve. This is a transfer between protocol compartments.
The exact amount is determined after collection and according to the contract’s accounting order, including the LP rewards actually allocated to the Vault. This sweep transfers ladder funds during maintenance. It is separate from the tax charged on a sale and does not charge the seller’s wallet a second tax.
Revenue planned for V2
| Module | Revenue | What does not fund it |
|---|---|---|
| Vault | 20% of ladder LP fees realized in ETH, allocated at collection | Wall principal, CUBIT inflation, merely estimated LP fees |
| Links | 20% of the team share on referred swaps | The 12% allocated to walls |
| Curated Forge | Launch fee directed to the wall reserve | Withdrawing CUBIT backing for a child |
These revenues are planned for future V2 releases. Their amounts will depend on actual activity.
A round trip does not cost exactly 18%
Isolating only proportional taxes, at a constant price with no impact or other fees, the retained factor is 0.97 × 0.85 = 0.8245. The corresponding loss is therefore 17.55%, rather than mechanically adding 15 and 3 to the same amount.
A real round trip adds pool fees, gas and price changes. The net amount returned by the quote remains the reference for a given transaction. Buying and selling.
Tax allocation: latest user clarification. Historical references to update: CubitHook._creditBuyTax, _creditSellTax, _creditTeam, _rebalance, _accrueVaultFees and periphery/CubitRouter.sol.