Fees
There are two types of fees associated with using Swing API/SDK/Widget:
- Gas fees
- Bridge fees
- (coming soon) Swing partner fees
Gas fees
Gas refers to the fee required to execute a transaction on the source chain and is always paid in the source chain native token. Since each transaction requires computational resources to execute, each transaction requires a fee regardless of whether a transaction succeeds or fails. Even if it fails, validators must finalize and execute your transaction, which takes computational power.
Please note that the estimated gas fees are not included in the quoted transfer amount and are deducted from the user’s native token on the source chain.
Gas fees returned by the Swing quote API are estimated amounts and may be lower or higher than the actual gas fees paid at the time of transaction due to the nature of fluctuating gas prices.
When signing transactions in your wallet, estimated gas fees will differ from the maximum Gas Limit, which may appear much larger than the estimate. The maximum gas-limit refers to the maximum the transaction is allowed to spend, even though the actual gas fees paid are expected to be much closer to the estimated ones. A sending wallet will need to have sufficient funds in the native gas token to cover the maximum gas-limit. Experienced users can modify the maximum gas-limit in their wallet at the time of transaction signing but do so at their own risk because an insufficient max-value may cause the transaction to fail and revert.
We can query our /quote endpoint to get the estimated gas fees. The “routes.fees” property will return estimated gas fees details ("type": "gas):
"fees":[
{
"type": "gas",
"amount": "11278145831044354",
"amountUSD": "21.124",
"chainSlug": "ethereum"
"tokenSymbo": "ETH",
"tokenAddress": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"deductedFromSourceToken": "false"
}
]
Bridge Fees
Swing aggregates bridges and each bridge has its own fee structure set up.
There are two types of bridge fees:
- Bridge fee (source token)
- Bridge fee (source chain native token)
1. Bridge fee (source token)
This type of bridge fee is required from a bridge to perform a transaction and is deducted from the input source token and will be reflected in the output destination token. Depending on the bridge, this fee may include bridge protocol fees, liquidity provider fees and destination transaction fees. See the table below for bridge fee details for each aggregated bridge:
Bridge | Protocol Fee | Liquididty Partner Fee | Destination tx fee (in source token) |
---|---|---|---|
Celer | ✅ | ✅ | |
Stargate | ✅ | ✅ | |
deBridge | ✅ | ||
Hop | ✅ | ✅ | |
Multichain | ✅ | ||
Across | ✅ | ✅ | |
Hyphen | ✅ | ✅ | |
Synapse | ✅ | ✅ |
We can query Swing API /quote endpoint to get this bridge fee. The “routes.fees” property will return "type": "bridge” and "deductedFromSourceToken": "true".
"fees": [
{
"type": "bridge",
"amount": "60000",
"amountUSD": "0.060",
"chainSlug": "polygon",
"tokenSymbol": "USDC",
"tokenAddress": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"decimals": 6,
"deductedFromSourceToken": "true"
}
]
For more information on the bridge-specific fees please refer to the official bridge documentation:
2. Bridge fee (source chain native token)
Some bridges like Stargate and deBridge, which support swaps on the destination chan, require native tokens to be provided to cover the destination-chain gas cost for sending the tokens to the user.
These fees are not deducted from the source token and are paid in the source chain's native token. For example, if the transfer is performed from the Ethereum chain, then the fixed ETH amount will be deducted from the user's wallet. The sending user’s wallet must have sufficient balance in the source chain’s native token to cover this type of bridge fee.
We can query Swing API /quote endpoint to get this bridge fee. The “routes.fees” property will return "type": "bridge” and "deductedFromSourceToken": "false".
"fees": [
{
"type": "bridge",
"amount": 38389893006871,
"amountUSD": 0.072,
"chainSlug": "ethereum"
"tokenSymbol": "ETH",
"tokenAddress": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"deductedFromSourceToken": "false"
},
]
Swing Partner fees
Currently, Swing doesn’t charge any protocol fees. Soon, Swing Partners will be able to monetize their Swing integrations by taking a fee percentage (up to 10%) from their transaction volume. This percentage fee will be deducted from the user's initial asset and collected in a Swing Fee Collection contract.
Swing partner fees will be based on a revenue share model where Swing will collect a 15% protocol fee of the collected partner fees volume towards Swing treasury.
Partner fees are scheduled to be released at the end of Q2 2023.