Fees breakdown
Every swap can incur the following fees:- Your custom fee: The extra amount you charge on top of the swap transaction. Arc keeps 10% of this amount. The remaining 90% goes to the fee recipient you configure on the source blockchain.
- Provider fee: A fee charged by the underlying swap service provider for executing the swap. This fee is 2 basis points (0.02%) of the swap amount.
Funds flow
The following example shows what happens when a user initiates a swap with a 1% custom fee (1,000 USDC to USDT):- The user initiates a swap for 1,000 USDC to USDT.
- Your custom fee of 10 USDC (1%) is configured.
- The source wallet signs a transaction for 1,000 USDC.
- The 10 USDC custom fee is collected and split:
- Arc receives 1 USDC (10% of the custom fee).
- Your configured fee recipient receives 9 USDC (90% of the custom fee).
- The swap service provider charges a 2 bps provider fee (0.02%) of the remaining amount. For 990 USDC, this is 0.198 USDC.
- The swap executes with a remaining input amount of 989.802 USDC and the user receives the net output amount in USDT.
Best practices for custom fees
Follow these best practices when implementing custom fees for swaps:- Use a fee recipient address in the same network context where the swap originates.
- Return fee amounts in human-readable decimal format (for example,
0.20instead of200000for 0.20 USDC). App Kit handles base-unit conversion internally.