Docs
Safety guarantees
What the kernel enforces, whatever the blocks do.
These limits live in the kernel contract. No block, owner or setting can get around them.
| Guarantee | Detail |
|---|---|
| Fee ceiling | At most 50% during a pool's first 15 minutes, and 10% after, whatever the blocks ask for. |
| Burn ceiling | At most 5% of any single buy. |
| Base fee range | 0.01% to 3%. |
| Block count | At most 5 blocks per pool, no duplicates, each approved in the catalog when the pool opens. |
| Read-only blocks | Blocks are called with STATICCALL: they can't move funds or change state. |
| Fail open | A block that reverts, runs out of its 100,000 gas or answers nonsense is skipped for that trade; it can't freeze a pool. |
| No starving blocks | The kernel refuses to run unless it has each block's full gas budget, so nobody can make a block fail on purpose to skip it. |
| Frozen rules | A pool's blocks and settings are set once, when it opens. |
| Locked launch liquidity | The launchpad has no function to remove a launch's founding liquidity. |
| Launch floor | A launched token's price can't trade below its launch price. |
| Withdrawals always work | Blocks never see liquidity removals, so none can block you from withdrawing. |
What a reviewed block can still do
Within those limits, an approved block can raise fees up to the ceiling and refuse trades or deposits. Review in the catalog is the defence against a block that misuses this; the fee chart and pool pages show exactly what each pool charges.
How it was tested
- 87 contract tests: every launch behaviour runs twice (the token sorting before and after USDC), plus kernel, catalog and market tests, including a greedy block, reverting and gas-burning blocks, and gas starvation.
- Fuzz tests: a buy then sell never returns more USDC than it cost; the sell fee never leaves its bounds.
- Tests against a copy of Arc mainnet with the real Uniswap v4 pool manager and USDC.
- Live smoke tests on Arc testnet and mainnet: launch, trade, fees, open market, liquidity (11 of 11 transactions each).
