Fees & Monetization
How user fees are calculated and paid to applications using OneBalance
Overview
OneBalance enables applications to monetize their services through transparent and flexible fee structures. This page explains how fees work, who pays them, and how to configure them for your application.
User pays one consolidated fee to the app, Toolkit helps app to handle the underlying gas & paymaster costs.
Fee Types and Responsibilities
Category | Fee Type | Who Pays | Description |
---|---|---|---|
Gas Fees | Same-Chain Execution | Application | The app pays the bill to the paymaster service in USD for same-chain execution routes |
Gas Fees | Cross-Chain Source | Application | The app pays the source chain gas cost to the paymaster service in USD |
Gas Fees | Cross-Chain Destination | User | This fee is included in the quote the solver provides for execution |
Monetization | Swaps & Transfers | User | 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 calculates the fee it is willing to take and encodes this into the desired calldata to be executed as a transfer |
Monetization Fees for Swaps and Transfers
Our transactional API lets you monetize every on-chain action initiated by your end users. Each time an end user sends a transaction through your application one transparent service fee is calculated, composed of:
- Percentage fee – a fixed percentage of the asset amount
- Network fee – a flat USD-denominated amount that offsets per-chain operational costs
Fee Parameters
Field | Type | Description |
---|---|---|
percentageBps | uint16 | Fee in basis points (1 bp = 0.01%) |
usdBaseMultiplier | uint8 | Multiplier applied to the operational cost table |
beneficiary | string | The EVM address that collects the fees. Once non-EVM chains are supported, additional addresses will be added |
Chain-Specific Fee Configuration
The following table shows a config example of base costs for different chains. These values are multiplied by the usdBaseMultiplier
to calculate the final network fee.
Chain | CAIP-2 ID | Base Cost (USD) |
---|---|---|
Ethereum | eip155:1 | $3.00 |
Avalanche | eip155:43114 | $0.20 |
BNB Smart Chain | eip155:56 | $0.10 |
Linea | eip155:59144 | $0.5 |
Base | eip155:8453 | $0.02 |
Arbitrum | eip155:42161 | $0.02 |
Polygon PoS | eip155:137 | $0.02 |
Blast | eip155:81457 | $0.02 |
Optimism | eip155:10 | $0.02 |
How Fees Are Calculated
Component | Formula |
---|---|
Percent component | percentFee = (amount × percentageBps) / 10,000 |
USD component | usdFee = Σ(chainCostUsd[chain] × usdBaseMultiplier) |
Conversion | USD fee is converted to the input asset using a live price feed |
Total fee | totalFee = percentFee + usdFeeAssetEquivalent |
Example Calculation
1 ETH to USDC Swap on Arbitrum
Given:
percentageBps
= 30 (0.3%)usdBaseMultiplier
= 21 ETH = 2,500 USDC
Fee Settlement
- Fees are transferred to the
beneficiary
address in the same token used for the transaction - For bridge + swap operations, network fees are summed across all chains involved
Managing Fee Configuration
- Fee configuration updates are necessary to reflect significant shifts in gas prices or native token values.
- To update the configuration app needs to contact OneBalance team.
Coming Soon
- Dynamic Fee Adjustment - Fees will automatically adjust to market shifts based on average gas prices and native token prices in real-time
- Self-Service Updates - Configuration will be updatable via APIs or through the admin dashboard UI
Custom Fee Structures: Need specialized pricing models or volume discounts? Contact our sales team to discuss custom fee arrangements for your business.