Endpoint list

A list of tokens and blockchains for bridging

GET v1/tokens/allForSwapAndBridge

Provides a list of supported blockchains as well as a list of tokens for a destination network. Request sample: https://api.yetanotherdefi.com/v1/tokens/allForSwapAndBridge

{
  "1": {
    "10": [
      {
        "chainId": 10,
        "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
        "name": "Ether",
        "symbol": "ETH",
        "decimals": 18,
        "logoURI": "",
        "is_active": false,
        "is_rfq_mode": false
      },
      {
        "chainId": 10,
        "address": "0x50c5725949a6f0c72e6c4a641f24049a917db0cb",
        "name": "Lyra Token",
        "symbol": "LYRA",
        "decimals": 18,
        "logoURI": "https://cl.yad.finance/static-files/1i/10/0x50c5725949a6f0c72e6c4a641f24049a917db0cb/48x48.png",
        "is_active": false,
        "is_rfq_mode": false
      }
    ]
  }
}

Get gas prices

GET v1/{chainID}/gasprices

Provides calculated gas price values in GWEI (nAVAX for Avalanche).

Request sample: https://api.yad.finance/v1/1/gasprices

Path Parameters

NameTypeDescription

chainId*

Integer

The blockchain ID for which the gas price is requested.

{
  "baseFee": "13.757",
  "low": "14.757",
  "lowInfo": {
    "price": "14.757",
    "maxPriorityFeePerGas": "0.5",
    "maxFeePerGas": "14.257"
  },
  "medium": "16.757",
  "mediumInfo": {
    "price": "16.757",
    "maxPriorityFeePerGas": "0.55",
    "maxFeePerGas": "15.683"
  },
  "high": "18.757",
  "highInfo": {
    "price": "18.757",
    "maxPriorityFeePerGas": "0.65",
    "maxFeePerGas": "18.535"
  }
}

Get price for pair

GET v1/price

Returns the best route and exchange offer for pair, no calldata for transaction. Works faster than /quote. Request sample: https://api.yetanotherdefi.com/v1/price?fromChainID=1&toChainID=137&fromTokenAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&toTokenAddress=0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063&amount=150&slippage=10&feeRecipient=0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503&sellTokenPercentageFee=10&rfqOnly=false

Query Parameters

NameTypeDescription

fromTokenAddress*

String

Smart contract address of the sale token.

toTokenAddress*

String

Smart contract address of the purchase token.

amount*

Integer

The amount of sale tokens in decimals of the token (can be taken from the method /tokens).

slippage*

Number

The amount of slippage allowed during the actual execution of the transaction (10 = 1% slippage). If the price changes by more than this percentage, the transaction will revert. Min = 1 (0.1%), max = 500 (50%). Default value : 1

gasPrice

String

Gas price value for making a transaction in WEI (nAVAX for Avalanche) (1 GWEI = 1000000000 WEI), default value is the value high from /gasprices.

feeRecipient

String

Wallet address for receiving fees. The commission is paid from the purchase token.

sellTokenPercentageFee

Integer

Percentage of commission from the amount of sale tokens, is taken in favor of feeRecipient. (10 = 1%, maximum value is 500).

rfqOnly

Boolean

If TRUE: use only RFQ providers for routing.

Default value : false

excludeAggregator

String

Exclude some aggregators from routing (add several parameters for multiple exclude).

includeAggregator

String

Include some aggregators from routing (add several parameters for multiple include). This parameter cannot be combined with excludedAggregators.

fromChainID*

Integer

Source/sell blockchain ID

toChainID*

Intger

Destination/buy blockchain ID

onchainExcludeAggregator

String

Exclude some aggregators from on-chain routing (add several parameters for multiple exclude).

onchainIncludeAggregator

String

Include some aggregators from on-chain routing (add several parameters for multiple include). This parameter cannot be combined with onchainExcludeAggregators.

{
  "amount_out_total": "150513308498454",
  "estimate_gas_total": "500000",
  "token_in": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
  "token_out": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
  "gas_price": "17877704887",
  "bridge_fee": "<nil>",
  "fees": null,
  "routes": [
    {
      "type": "dex",
      "protocol_name": "native_polygon",
      "amount_in": "150",
      "amount_out": "150",
      "percent": 100
    }
  ]
}

Transaction allowance

GET v1/{chainID}/transaction/allowance

Checks how many of the user’s tokens the exchange smart contract has access to.

Request sample: https://api.yad.finance/v1/1/transaction/allowance?tokenAddress=0xdAC17F958D2ee523a2206206994597C13D831ec7&walletAddress=0x58f58219e2d2598588c1b457bb6da65c34d99310

Path Parameters

NameTypeDescription

chainID*

Integer

The ID of the blockchain the token is located on (supported networks - /v1/platforms).

Query Parameters

NameTypeDescription

tokenAddress*

String

Smart contract address of the token for which access is being checked.

walletAddress*

String

Wallet of the user for which access is being checked.

{
  "remaining": "11579208923731620000"
}

Transaction approve

GET v1/{chainID}/transaction/approve

Generates transaction input parameters to provide access to the user's tokens for the exchange smart contract.

Request sample: https://api.yad.finance/v1/1/transaction/approve?tokenAddress=0xdAC17F958D2ee523a2206206994597C13D831ec7&amount=100000000000&gasPrice=100000000000

Path Parameters

NameTypeDescription

chainID*

Integer

ID of the blockchain the token is located on (supported networks - /v1/platforms).

Query Parameters

NameTypeDescription

tokenAddress*

String

Address of the smart contract of the token for which the access request is generated.

takerAddress

String

Address of user’s wallet which will provide approve. When provided the gas will be estimated exactly.

amount

integer

The amount of user tokens to which access is granted. By default - infinite number.

gasPrice

Integer

Cost of gas for an approve transaction. By default: medium

contractAddress

String

Contract that we want to give an approval. If not passed, then the default for chain is used.

{
  "calldata": "0x095ea7b30000000000000000000000001aaad07998466cd3eb8140827dddb37570be1e63000000000000000000000000000000000000000000000000000000174876e800",
  "gas_price": "100000000000",
  "to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
  "estimate_gas": "48561"
}

Get quote for pair

GET v1/quote

Returns the best exchange offer and input parameters for the transaction. Request sample: https://api.yetanotherdefi.com/v1/quote?fromChainID=1&toChainID=137&fromTokenAddress=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee&toTokenAddress=0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063&takerAddress=0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503&amount=150&slippage=10&feeRecipient=0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503&sellTokenPercentageFee=10&rfqOnly=false&skipValidation=true

Query Parameters

NameTypeDescription

fromTokenAddress*

String

Smart contract address of the sale token.

toTokenAddress*

String

Smart contract address of the purchase token.

amount*

Integer

The amount of sale tokens in decimals of the token (can be taken from the method /tokens).

slippage*

Number

The amount of slippage allowed during the actual execution of the transaction (10 = 1% slippage). If the price changes by more than this percentage, the transaction will revert. Min = 1 (0.1%), max = 500 (50%). Default value : 1

gasPrice

String

Gas price value for making a transaction in WEI (nAVAX for Avalanche) (1 GWEI = 1000000000 WEI), default value is the value high from /gasprices.

feeRecipient

String

Wallet address for receiving fees. The commission is paid from the purchase token.

sellTokenPercentageFee

Integer

Percentage of commission from the amount of sale tokens, is taken in favor of feeRecipient. (10 = 1%, maximum value is 500).

rfqOnly

Boolean

If TRUE: use only RFQ providers for routing.

Default value : false

excludeAggregator

String

Exclude some aggregators from routing (add several parameters for multiple exclude).

includeAggregator

String

Include some aggregators from routing (add several parameters for multiple include). This parameter cannot be combined with excludedAggregators.

fromChainID*

Integer

Source/sell blockchain ID

toChainID*

Intger

Destination/buy blockchain ID

onchainExcludeAggregator

String

Exclude some aggregators from on-chain routing (add several parameters for multiple exclude).

onchainIncludeAggregator

String

Include some aggregators from on-chain routing (add several parameters for multiple include). This parameter cannot be combined with onchainExcludeAggregators.

takerAddress*

String

The address which will fill the quote. When provided the gas will be estimated and returned.

recipientAddress

String

Percentage of commission from the amount of sell tokens, is taken in favor of feeRecipient. (10 = 1%, maximum value is 500).

skipValidation

Boolean

If TRUE: skip calldata validation

Default value : true

{
  "amount_out_total": "244624",
  "estimate_gas_total": "348908",
  "token_in": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
  "token_out": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",
  "gas_price": "32853665207",
  "bridge_fee": "<nil>",
  "fees": null,
  "routes": [
    {
      "type": "dex",
      "protocol_name": "native_polygon",
      "amount_in": "150",
      "amount_out": "244624",
      "percent": 100
    }
  ],
  "calldata": "0xb6aa8d2d00000000000000000000000047ac0fb4f2d84898e4d9e7b4dab3c24507a6d503000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000000000096000000000000000000000000000000000000000000000000000000000003b201000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000007c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000604415565b0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000000000096000000000000000000000000000000000000000000000000000000000003b1ff00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000960000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000003556e69737761700000000000000000000000000000000000000000000000000000000000000000000000000000000096000000000000000000000000000000000000000000000000000000000003b20000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c0a47dfe034b400b47bdad5fecda2621de6c4d950000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e11c8364F9E5EE0000",
  "to": "0x1AAAd07998466cD3Eb8140827DDdb37570BE1e63",
  "value": "150"
}

List tokens

POST v2/tokens/list

Get a list of tokens with filters and pagination.

Request sample

cURL:

curl -X 'POST' \ 'https://api.yetanotherdefi.com/v2/tokens/list' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "filter": { "symbols": [ "ETH" ] }, "paging": { "page": 1, "page_size": 100 } }'

Request Body

NameTypeDescription

filter

object

Filtering occurs with an 'AND' statement between fields and an 'OR' statement between array elements.

For example: chain_ids[1, 2], names[asd] == all tokens where chain_id is "1" or "2" and name equal "asd".

Searching by all text filters is case-insensitive.

addresses

string array

Token smart contract addresses.

chain_ids

integer array

Blockchain network IDs.

is_active

boolean

FALSE = the token is rarely used in exchanges on DEXs

If null - get only active.

names

string array

Full names of tokens.

symbols

string array

Abbreviated names of tokens.

paging

object

An object for adjusting response sizes.

page*

integer

Page number.

This parameter can be useful when the total sample size of tokens that meet the criteria from the filter exceeds the page size.

Can't be less than 1.

page_size

integer

Response size. For example, "page_size": 5 == get 5 tokens that meet the filtering conditions.

Max 100. If zero - unlitimited page size

{
  "tokens": [
    {
      "chainId": 1,
      "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
      "name": "Ethereum",
      "symbol": "ETH",
      "decimals": 18,
      "logoURI": "https://cl.yad.finance/static-files/1i/1/0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/48x48.png",
      "is_active": true,
      "priority": 1,
      "is_rfq_mode": false
    },
    {
      "chainId": 10,
      "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
      "name": "Ethereum",
      "symbol": "ETH",
      "decimals": 18,
      "logoURI": "https://cl.yad.finance/static-files/1i/10/0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/48x48.png",
      "is_active": true,
      "priority": 1,
      "is_rfq_mode": false
    }
  ]
}

Last updated