Constructor
| Parameter | Description |
|---|---|
_usdc | USDC token address |
_treasury | Treasury wallet for fee collection |
owner to msg.sender. Fee starts at 0%.
Functions
split
collector) and treasury.
| Parameter | Type | Description |
|---|---|---|
collector | address | Publisher’s wallet address |
amount | uint256 | USDC amount in satoshis (6 decimals) |
- Not paused
amountbetween 1 and 1,000,000 (inclusive)- Caller has approved sufficient USDC on the splitter
- Transfers
amount - feetocollector - Transfers
feeto treasury (if fee > 0) - Emits
Splitevent
setFee
| Parameter | Type | Description |
|---|---|---|
_newFeeBps | uint256 | New fee in basis points (max 99) |
setTreasury
setPaused
Events
Split
split() call.
| Field | Description |
|---|---|
payer | Agent wallet that sent the payment |
collector | Publisher wallet that received the payment |
amount | Gross USDC amount (satoshis) |
fee | Fee deducted (satoshis) |
Constants
State variables
| Variable | Type | Description |
|---|---|---|
owner | address | Contract owner |
treasury | address | Fee collection wallet |
usdc | IERC20 (immutable) | USDC token |
paused | bool | Pause flag |
feeBps | uint256 | Current fee in basis points |
ABI (human-readable)
Fee calculation
| Amount (USD) | USDC units | Fee | Net |
|---|---|---|---|
| $0.003 | 3,000 | 29 | 2,971 |
| $0.01 | 10,000 | 99 | 9,901 |
| $0.10 | 100,000 | 990 | 99,010 |
| $1.00 | 1,000,000 | 9,900 | 990,100 |