Links
🛠

Symbiosis API

Symbiosis API | Symbiosis Finance | Swagger
Please use this API to integrate with Symbiosis protocol V2.
Check the new features of Symbiosis protocol V2: Symbiosis V1 vs. Symbiosis V2

What is Symbiosis API

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. 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. 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. 3.
    You do not modify, reuse, or cash the calldata you get by calling methods of the Symbiosis SDKs and API.
  4. 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:

Supported blockchains and tokens

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:

Endpoints

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
It returns a calldata to perform a cross-chain swap. Explanation of cross-chain swapping
/v1/bridging/exact_in
It returns a calldata to perform a bridging operation. Explanation of bridging
/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

Swagger

Examples

Symbiosis WebApp

We have our own desktop application: Symbiosis WebApp. The application can be used as a reference for existing functionalities.

Swagger

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: