Get ERC20 token price
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/{address}/price \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/erc20/{address}/price', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/{address}/price")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/{address}/price")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"usdPrice": 19.722370676,
"possibleSpam": "false",
"verifiedContract": true,
"tokenName": "Kylin Network",
"tokenSymbol": "KYL",
"tokenLogo": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png",
"tokenDecimals": "18",
"nativePrice": {
"value": "8409770570506626",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"address": "<string>"
},
"usdPriceFormatted": "19.722370676",
"24hrPercentChange": "-0.8842730258590583",
"exchangeAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
"exchangeName": "Uniswap v3",
"tokenAddress": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c",
"toBlock": "16314545",
"pairAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
"pairTotalLiquidityUsd": "123.45",
"usdPrice24h": 1,
"usdPrice24hrUsdChange": -0.00008615972490000345,
"usdPrice24hrPercentChange": -0.008615972490000345,
"securityScore": 1
}Price API
Token Price
Retrieve the current or historical price of an ERC20 token in the blockchain’s native currency and USD. Each token returned includes on-chain metadata, as well as off-chain metadata, logos, spam status and more. Additional options to exclude low-liquidity tokens and inactive tokens.
GET
/
erc20
/
{address}
/
price
Get ERC20 token price
curl --request GET \
--url https://deep-index.moralis.io/api/v2.2/erc20/{address}/price \
--header 'X-API-Key: <api-key>'import requests
url = "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://deep-index.moralis.io/api/v2.2/erc20/{address}/price', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://deep-index.moralis.io/api/v2.2/erc20/{address}/price"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://deep-index.moralis.io/api/v2.2/erc20/{address}/price")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://deep-index.moralis.io/api/v2.2/erc20/{address}/price")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"usdPrice": 19.722370676,
"possibleSpam": "false",
"verifiedContract": true,
"tokenName": "Kylin Network",
"tokenSymbol": "KYL",
"tokenLogo": "https://cdn.moralis.io/eth/0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c.png",
"tokenDecimals": "18",
"nativePrice": {
"value": "8409770570506626",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"address": "<string>"
},
"usdPriceFormatted": "19.722370676",
"24hrPercentChange": "-0.8842730258590583",
"exchangeAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
"exchangeName": "Uniswap v3",
"tokenAddress": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c",
"toBlock": "16314545",
"pairAddress": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
"pairTotalLiquidityUsd": "123.45",
"usdPrice24h": 1,
"usdPrice24hrUsdChange": -0.00008615972490000345,
"usdPrice24hrPercentChange": -0.008615972490000345,
"securityScore": 1
}Path Parameters
Query Parameters
The chain to query
Available options:
eth, 0x1, sepolia, 0xaa36a7, polygon, 0x89, bsc, 0x38, bsc testnet, 0x61, avalanche, 0xa86a, cronos, 0x19, arbitrum, 0xa4b1, chiliz, 0x15b38, gnosis, 0x64, base, 0x2105, base sepolia, 0x14a34, optimism, 0xa, polygon amoy, 0x13882, linea, 0xe708, moonbeam, 0x504, moonriver, 0x505, flow, 0x2eb, flow-testnet, 0x221, ronin, 0x7e4, ronin-testnet, 0x31769, lisk, 0x46f, pulse, 0x171, sei-testnet, 0x530, sei, 0x531, monad, 0x8f Example:
"eth"
Response
200 - application/json
Returns the price denominated in the blockchain's native token and USD for a given token contract address

