Endpoint list

Get plaftorms

GET v1/platforms

Provides a list of supported blockchain networks.

Request sample: https://api.entrswap.io/v1/platforms

{
  "platforms": [
    {
      "chainId": 1,
      "name": "Ethereum",
      "shortname": "ETH"
    },
    {
      "chainId": 10,
      "name": "Optimistic Ethereum",
      "shortname": "Optimism"
    },
    {
      "chainId": 56,
      "name": "BNB Smart Chain",
      "shortname": "BSC"
    }
  ]
}

Get gas prices

GET v1/{chainID}/gasprices

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

Request sample: https://api.entrswap.io/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 on-chain price for pair

GET v1/{chainID}/price

Returns the best route and exchange offer for pair, no calldata for transaction. Works faster than /quote. Request sample: https://api.entrswap.io/v1/1/price?fromTokenAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&toTokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&amount=1500000000&slippage=1&gasPrice=16000000000&feeRecipient=0xdac17f958d2ee523a2206206994597c13d831ec7&buyTokenPercentageFee=1&sellTokenPercentageFee=1&rfqOnly=false&withGas=false

Path Parameters

NameTypeDescription

chainID*

Integer

Blockchain ID. (Supported networks - /v1/platforms)

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/list).

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.

buyTokenPercentageFee

Integer

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

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.

withGas

Boolean

If TRUE: choose a route based on gas.

Default value : false

{
  "amount_out_total": "1498367401285001674752",
  "estimate_gas_total": "595785",
  "token_in": "0xdac17f958d2ee523a2206206994597c13d831ec7",
  "token_out": "0x6b175474e89094c44da98b954eedeac495271d0f",
  "gas_price": "16000000000",
  "fee_recipient_amount": "1497002",
  "routes": [
    {
      "type": "dex",
      "protocol_name": "eth_odos",
      "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.entrswap.io/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.entrswap.io/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 on-chain quote for pair

GET v1/{chainID}/quote

Returns the best exchange offer and input parameters for the transaction.

Request sample: https://api.entrswap.io/v1/1/quote?fromTokenAddress=0xdac17f958d2ee523a2206206994597c13d831ec7&toTokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&amount=1500000000&slippage=1&gasPrice=16000000000&feeRecipient=0xdac17f958d2ee523a2206206994597c13d831ec7&buyTokenPercentageFee=1&sellTokenPercentageFee=1&skipValidation=true&withGas=false

Path Parameters

NameTypeDescription

chainID*

Integer

ID of the blockchain tokens must be exchanged on (supported networks - v1/platforms).

Query Parameters

NameTypeDescription

fromTokenAddress*

String

Smart contract address of the sale token.

toTokenAddress*

String

Smart contract address of the purchase token.

takerAddress

String

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

amount*

Integer

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

slippage*

Integer

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%).

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.

buyTokenPercentageFee

Integer

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

sellTokenPercentageFee

Integer

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

recipientAddress

String

Wallet address for receiving purchase tokens. By default: sender address.

skipValidation

Boolean

If TRUE: skip calldata validation

Default value : true

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.

withGas

Boolean

If TRUE: choose a quote based on gas.

Default value : false

{
  "amount_out_total": "1498328896581420449792",
  "estimate_gas_total": "645770",
  "token_in": "0xdac17f958d2ee523a2206206994597c13d831ec7",
  "token_out": "0x6b175474e89094c44da98b954eedeac495271d0f",
  "gas_price": "16000000000",
  "fee_recipient_amount": "0",
  "routes": [
    {
      "type": "dex",
      "protocol_name": "eth_odos",
      "percent": 100
    }
  ],
  "calldata": "0x1342555a00000000000000000000000076f4eed9fe41262669d0250b2a97db79712ad85500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000595157560000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000005124b26ec2d91fba5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4f17a454600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000001e42741ef6a26c2eb653000000000000000000000000000000000000000000001e3ab50761655600000000000000000000000000000000000bdc51918c9407d2a7a0f34b68f16c26ea13ac2c9000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000059515756000000000000000000000000bdc51918c9407d2a7a0f34b68f16c26ea13ac2c90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000000000005f5eedb000000000000000000000000ca188796c709f3e052006a7e1e80b309ddd260ad0000000000000000000000000000000000000000000000000000000000000048010203000d0101010200ff00000000000000000000000000000000000000000048da0965ab2d2cbf1c17c09cfb5cbe67ad5b1406dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a97e0564F0AAC50000",
  "to": "0x1AAAd07998466cD3Eb8140827DDdb37570BE1e63",
  "expiry": 1693494007
}

List tokens

POST v2/tokens/list

Get a list of tokens with filters and pagination.

Request sample

cURL:

curl -X 'POST' \ 'https://api.entrswap.io/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.entr.exchange/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.entr.exchange/static-files/1i/10/0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/48x48.png",
      "is_active": true,
      "priority": 1,
      "is_rfq_mode": false
    }
  ]
}

Last updated