How user fees are calculated and paid to applications using OneBalance
Category | Fee Type | Who Pays | Description |
---|---|---|---|
Gas Fees | Cross-Chain Source or same chain execution | Application => Paymaster | The app pays for the inclusion to the paymaster service in USD |
Gas Fees | Cross-Chain Destination | User=>Solver | This fee is included in the quote the solver provides for execution |
Monetization | Swaps & Transfers | User=>App | App configures the fees and collects them to a dedicated address. The fee is paid in the input token and delivered with every user transaction |
Monetization | Function Calls | User=>App | App calculates the fee it is willing to take and encodes this into the desired calldata to be executed as a transfer |
Chain | CAIP-2 ID | Base Cost (USD) |
---|---|---|
eip155:1 | $3.00 | |
eip155:43114 | $0.20 | |
eip155:56 | $0.10 | |
eip155:59144 | $0.5 | |
eip155:8453 | $0.02 | |
eip155:42161 | $0.02 | |
eip155:137 | $0.02 | |
eip155:81457 | $0.02 | |
eip155:10 | $0.02 |
Field | Type | Description |
---|---|---|
percentageBps | uint16 | Fee in basis points (1 bp = 0.01%) |
beneficiary | string | The EVM address that collects the fees. Once non-EVM chains are supported, additional addresses will be added |
Component | Formula |
---|---|
Percent component | percentFee = (amount × percentageBps) / 10,000 |
USD component | usdFee = Σ(chainCostUsd[chain]) |
Conversion | USD fee is converted to the input asset using a live price feed |
Total fee | totalFee = percentFee + usdFeeAssetEquivalent |
percentageBps
= 30 (0.3%)1 ETH = 2,500 USDC
beneficiary
address in the same token used for the transaction