🛠
Symbiosis API
Symbiosis API | Symbiosis Finance | Swagger
Please use this API to integrate with Symbiosis protocol V2.
We are happy to introduce the Symbiosis API that facilitates the integration of the functionalities of the Symbiosis Protocol into your application, platform, protocol.
Enable decentralized cross-chain swaps and cross-chain liquidity management for your users quickly and effectively by integrating the Symbiosis API.
Checklist to do before deploying to production (Mainnet)
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.
- 1.You approve users’ ERC20 tokens only for one contract, and this contract is
metaRouterGateway
on each blockchain. You can check the addresses of the contracts for all blockchains supported by Symbiosis protocol V2 in this configuration. - 2.All contracts you use in your software exist on the corresponding blockchains, and their addresses on each blockchain correspond to the addresses in this configuration.
- 3.You do not modify, reuse, or cash the calldata you get by calling methods of the Symbiosis SDKs and API.
- 4.After deployment to Mainnet, run at least one transaction.
Please do these checks for the initial deployment AND each software update.
The Symbiosis API allows you to perform functionalities the following functions:
- Generate calldata for cross-chain operations:
- Interchain communicating (any token to a third-party lending protocol) Explanation of interchain communicating
- Cross-chain zapping (any token to a liquidity pool owned by Symbiosis) Explanation of cross-chain zapping
- Get statuses of cross-chain operations,
- Get a list of stuck cross-chain operations,
- Generate calldata to perform reverting operation.
Using the Symbiosis API, you can operate any token that exists on the blockchains supported by the Symbiosis protocol. The list of supported blockchains is growing and can be found here: Supported Blockchains
We have no restrictions on the tokens to operate. You may consider composing your own list of supported tokens if you need to.
Values such as chain IDs for the supported blockchains are listed in the following configurations for Symbiosis JS SDK:
- Testnet configuration (Soon)
Endpoint | Description |
---|---|
/health-check | It returns the health of the API: 200 if everything is up and running. |
/v1/revert | The reverting transaction should be sent from the address that was specified as the address eligible for the reverting operation ( revertableAddress ) in the original cross-chain operation (the stuck one).
Explanation of emergencies |
/v1/stucked/{address} | It returns a list of stuck cross-chain operations (swapping, bridging, zapping, interchain communicating) for the specified address from all blockchains supported by the Symbiosis protocol.
Explanation of emergencies |
/v1/tx/{chainId}/{transactionHash} | It returns the status of the original transaction specified by the blockchain ID and transaction hash. The original transaction means the transaction sent to the source blockchain. The possible statuses:
- Not found,
- Pending,
- Success (in this case, the answer contains as well the destination chain ID and the hash of the transaction on the destination chain),
- Stucked,
- Reverted |
/v1/swapping/exact_in | |
/v1/bridging/exact_in | |
/v1/zapping/exact_in | It returns a calldata to perform a cross-chain Zap. A cross-chain Zap consists of a cross-chain swap and a consequent addition of the destination token to a liquidity pool owned by Symbiosis.
Explanation of cross-chain zapping |
/v1/zapping/aave/exact_in | It returns a calldata to perform an interchain communicating operation to the AAVE protocol. An interchain communicating operation to the AAVE protocol consists of a cross-chain swap and a consequent addition of the destination token to the AAVE protocol.
Explanation of interchain communicating |
/v1/zapping/cream/exact_in | It returns a calldata to perform an interchain communicating operation to the C.R.E.A.M. protocol. An interchain communicating operation to the C.R.E.A.M. protocol consists of a cross-chain swap and a consequent addition of the destination token to the C.R.E.A.M. protocol. |
/v1/zapping/benqi/exact_in | It returns a calldata to perform an interchain communicating operation to the BENQI protocol. An interchain communicating operation to the BENQI protocol consists of a cross-chain swap and a consequent addition of the destination token to the BENQI protocol.
Explanation of interchain communicating |
/v1/zapping/beefy/exact_in | It returns a calldata to perform an interchain communicating operation to the Beefy protocol. An interchain communicating operation to the Beefy protocol consists of a cross-chain swap and a consequent addition of the destination token to the Beefy protocol.
Explanation of interchain communicating |
- Testnet (Soon)
We have our own desktop application: Symbiosis WebApp. The application can be used as a reference for existing functionalities.
The swagger of the Symbiosis API contains examples of using every endpoint. Just scroll down to the endpoint you are interested in, enter the needed data or select it from the preset data and run an example.
For example, there are preset token pairs for cross-chain swapping:

Last modified 3h ago