curl --request GET \
--url https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/price \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/price")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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{
"chain": "eth",
"tokenName": "Pepe",
"tokenSymbol": "PEPE",
"tokenAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"tokenLogo": "https://logo.moralis.io/0x1_0x69825081454ce6d19f71c224cba025989229.jpeg",
"tokenDecimals": 18,
"usdPrice": 2534.12,
"24hrChangeUsd": 35.82,
"24hrChangePercent": 1.43,
"nativePrice": {
"value": "439,425,812.15",
"valueRaw": "4394258121500000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH"
},
"verifiedContract": true,
"securityScore": 99,
"possibleSpam": false,
"updatedAt": {
"timestamp": "2025-11-24T16:00:00.000Z",
"blockNumber": 123456755
},
"dexInformation": {
"exchangeName": "Uniswap v3",
"exchangeAddress": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
"pairAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"pairLiquidityUsd": 234567890.12
},
"meta": {
"syncedAt": {
"bitcoin": "latest"
}
}
}Current Price
Get the current BTC price and additional market metadata.
curl --request GET \
--url https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/price \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/price")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moralis.com/v1/chains/{chainAlias}/tokens/{tokenAliasOrTokenAddress}/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{
"chain": "eth",
"tokenName": "Pepe",
"tokenSymbol": "PEPE",
"tokenAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
"tokenLogo": "https://logo.moralis.io/0x1_0x69825081454ce6d19f71c224cba025989229.jpeg",
"tokenDecimals": 18,
"usdPrice": 2534.12,
"24hrChangeUsd": 35.82,
"24hrChangePercent": 1.43,
"nativePrice": {
"value": "439,425,812.15",
"valueRaw": "4394258121500000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH"
},
"verifiedContract": true,
"securityScore": 99,
"possibleSpam": false,
"updatedAt": {
"timestamp": "2025-11-24T16:00:00.000Z",
"blockNumber": 123456755
},
"dexInformation": {
"exchangeName": "Uniswap v3",
"exchangeAddress": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
"pairAddress": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"pairLiquidityUsd": 234567890.12
},
"meta": {
"syncedAt": {
"bitcoin": "latest"
}
}
}bitcoin as chainAlias and native as tokenAliasOrTokenAddress.Authorizations
Path Parameters
Bitcoin chain alias. Pass bitcoin or bitcoin-mainnet.
bitcoin, bitcoin-mainnet For BTC price, pass native.
native Query Parameters
Block number to check the price from
Exclude tokens inactive for more than the specified days
Minimum liquidity in USD
Response
The chain alias
"eth"
The token name
"Pepe"
The token symbol
"PEPE"
The token contract address
"0x6982508145454ce325ddbe47a25d4ec3d2311933"
The token logo URL
"https://logo.moralis.io/0x1_0x69825081454ce6d19f71c224cba025989229.jpeg"
The token decimals
18
The USD price
2534.12
The 24hr USD price change
35.82
The 24hr price percent change
1.43
The native price information
Show child attributes
Show child attributes
Whether the contract is verified
true
The security score
99
Whether the token is possibly spam
false
Information about when the price was last updated
Show child attributes
Show child attributes
DEX exchange and pair information (null for Bitcoin)
Show child attributes
Show child attributes
Show child attributes
Show child attributes

