FeeSplitter: on-chain fee distribution for YiFi partners

We shipped FeeSplitter – a smart contract that handles partner fee distribution directly on-chain, deployed across 8 EVM networks. Partners claim accrued fees themselves, with their own key, and every accrual and claim is verifiable on a block explorer and Partner API.
The problem it solves
Affiliate fee sharing in DeFi usually runs off-chain: the aggregator tracks who’s owed what in a private database and pays out manually. Partners have to trust an invisible ledger. We wanted the opposite – a fee model a partner can audit without asking us for a spreadsheet.
How it works
When a user Zaps through a partner integration (deposit or withdraw), the fee is taken during the transaction and routed to the FeeSplitter contract on that chain. The split between YiFi and the partner is recorded per wallet, per token, on-chain.
Fees can be charged in the input token or the output token, depending on the route the Zap takes – so a partner accrues balances in whatever assets flowed through their users’ transactions.
Fee ranges
- YiFi’s share: 0.1% – 0.3%
- Partner’s configurable share: from 0.1% up to 0.7%
The partner sets their own fee on top of ours, per integration.
Claiming
Partners claim on their own initiative, signing with their own wallet registered thought Partner API interface – no one moves a partner’s funds on their behalf. Two methods, both scoped to a single chain:
- claim(token) – withdraw the full balance of one token
- claimAll(tokens) – withdraw balances across multiple tokens in one transaction
Because contracts are deployed per chain, partners register a claim wallet on each network they want to earn on, and claim on each chain independently.
Supported networks
Ethereum, BNB Chain, Base, HyperEVM, Arbitrum, Polygon, Optimism, Avalanche. More EVM chains coming soon.
Transparent on-chain
- Example contract (Ethereum): 0x8371886d68E60AD73667c8a290167cfa7A5C8397
- Example Zap transaction (0.15% yifi + 0.5% partner-demo) : 0xd78725989ab3888650a4e998dd1a1b0d5d04f883636c47a6172d124ec3b08ac7