Deployments
| Network | Address | USDC |
|---|---|---|
| Base Mainnet | 0xC6D3a6B6fcCD6319432CDB72819cf317E88662ae | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Base Sepolia | 0x7ecfe8f83eab6ba170063d1f1fe7c33695a9ce1d | 0xc5aDdd66Da733101A5468857Aa3C6689Af9d1DDc (mock) |
How it works
- Agent approves USDC on the splitter contract
- Agent calls
split(collector, amount)wherecollectoris the publisher’s wallet - Contract calculates fee:
fee = (amount * feeBps) / 10_000 - Contract transfers
amount - feeto publisher,feeto treasury - Contract emits a
Splitevent with payer, collector, amount, and fee
Key properties
| Property | Value |
|---|---|
| Fee | 0% (currently), capped at 0.99% forever |
| Max payment | $1.00 (1,000,000 USDC satoshis) |
| Min payment | $0.000001 (1 USDC satoshi) |
| Fee cap | MAX_FEE_BPS = 99 — immutable constant, cannot be changed |
| Pausable | Owner can pause splits for emergencies |
| USDC only | Hardcoded to USDC on Base |
Security
- Immutable fee cap: The
MAX_FEE_BPSconstant cannot be changed after deployment. Publishers are guaranteed fees will never exceed 0.99%. - SafeERC20: Uses OpenZeppelin’s SafeERC20 for all USDC transfers.
- No reentrancy risk: No external calls before state changes.
- Verified source: Bytecode published and verified on Basescan.
- Minimal surface: 57 lines of Solidity. Single responsibility.