Symbiosis API
Symbiosis API | Symbiosis Finance | Swagger
Last updated
Was this helpful?
Symbiosis API | Symbiosis Finance | Swagger
Last updated
Was this helpful?
The Symbiosis API allows you to integrate the core functionalities of the Symbiosis Protocol into your application, platform, or protocol. It provides decentralized cross-chain swaps and liquidity management, enabling users to interact with multiple blockchain networks without intermediaries.
Warning: If any of these checks fail, you put the assets of your users at risk. Therefore, you must not go to Mainnet with real assets and real users. This could result in the loss of your users' assets.
Approval of ERC20 Tokens: Always approve users' ERC20 tokens for only one contract — the metaRouterGateway
— on each blockchain. Verify the contract addresses for all supported blockchains in .
Contract Existence and Address Validation: Ensure that the contracts used in your integration are deployed on the respective blockchains, and that their addresses on each blockchain match those listed in .
Handling of Calldata: Do not modify, reuse, or cache calldata retrieved from Symbiosis SDKs or API methods.
Testing: After deployment to Mainnet, conduct at least one cross-chain operation to ensure proper functionality.
Reminder: Perform this checklist during the initial deployment and after every software update.
The key components for understanding the Symbiosis Protocol include:
The Symbiosis Core Contracts Interactions: Symbiosis Routing Contracts.
Stuck cross-chain operations handling: Symbiosis & Emergencies.
Chain-specific values (chain IDs, etc.) can be found in the following configuration:
You can also retrieve a list of currently supported blockchains using the /v1/chains
endpoint.
Using the Symbiosis API, you can operate any token that exists and can be exchanged in DEXs within the blockchains supported by the Symbiosis Protocol. There are no restrictions on the tokens to operate, and you may define your own list of supported tokens if needed.
The Symbiosis API documentation, powered by Swagger, provides an interactive way to explore and test all endpoints:
The Symbiosis protocol facilitates on-chain swaps and cross-chain operations across a wide range of supported blockchain networks. This section explains how protocol-level fees are handled and how partners can implement additional fee collection mechanisms if needed.
For on-chain swaps, Symbiosis uses an additional fee collector contract deployed on each supported blockchain.
If you need to charge additional fees on top of the standard Symbiosis fee logic for on-chain swaps, you must deploy and manage your own collector smart contract.
For most cross-chain operations, Symbiosis вeducts fees for gas on intermediate chains and charges protocol-level cross-chain fees during the execution of the operation.
The fee withholding logic is explained in this document: Symbiosis & Fees.
To apply additional custom fees for cross-chain swaps, you must deploy and manage your own fee collector contract and integrate it into the calldata generation process.
Collecting Address and Fee Parameters The BTC fee collector contract is administered by Symbiosis. To enable custom fee collection, partners must contact the Symbiosis team to configure the following parameters:
Fee recipient address – the address eligible to withdraw collected fees from the contract.
Fee model – percentage-based, fixed amount, or a combination of both,
Fee value – the actual percentage and/or fixed amount to be charged.
Collecting Fees
To apply your fee configuration during swaps to or from BTC, the fee recipient address must be included in the SwapRequestSchema
when calling the Symbiosis API.
Call /v1/chains
to get a list of available blockchain networks.
Call /v1/swap-limits
to verify swap limits (the minimum and maximum allowed swap amounts).
Call /v1/swap
to get the calldata (payload) needed to execute the swap through Symbiosis protocol.
If the source token is not a native gas token (e.g., ERC-20 tokens on EVM chains), approve the smart contract to spend the user's tokens.
Sign the calldata obtained in Step 3 using the wallet. Submit the transaction to the source blockchain. Since network conditions constantly change, calldata must be regenerated periodically (e.g., every 30 seconds) to ensure it remains valid before execution.
Call /v1/tx/{chainID}/{txHash}
to monitor the progress of the swap. This endpoint provides real-time status updates for cross-chain operations.
Approving smart contracts, signing, and sending transactions are performed through the user's wallet (e.g., MetaMask, WalletConnect, Coinbase Wallet) using wallet APIs. These actions are not handled directly by the Symbiosis API but must be performed via wallet interactions initiated by the application.
An application can perform health checks periodically or before each swap using /health-check
. The frequency depends on the app's load and expected behavior.
To get an approximate swap duration, use the swap time estimation endpoint /v1/swap-durations
. The estimated swap time is based on historical data and a real swap time may vary due to changing network conditions.
Access the Swagger interface for the Mainnet environment.
For swaps to and from the Bitcoin network, Symbiosis provides a dedicated fee collector contract () on BNB Chain. This contract can be used by partners and integrators to collect fees related specifically to BTC bridging.
Fee Token: syBTC () syBTC is a 1:1 BTC-pegged token that can be exchanged on EVM-compatible networks or bridged back to native Bitcoin.
If this address is omitted, no custom fee will be collected during the operation.
The uses the Symbiosis API for interacting with the Symbiosis Protocol and serves as a reference for supported protocol functionalities.
The of the Symbiosis API provides examples for every endpoint. Simply scroll to the endpoint of interest, input the required data, or use preset values, and execute the example.
For instance, there are preset token pairs for cross-chain swapping: