curl --request GET \
--url https://api.delora.build/v1/tokenimport requests
url = "https://api.delora.build/v1/token"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.delora.build/v1/token', 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.delora.build/v1/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.delora.build/v1/token"
req, _ := http.NewRequest("GET", url, nil)
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.delora.build/v1/token")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.delora.build/v1/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"symbol": "USDC",
"decimals": 6,
"chainId": 8453,
"name": "USD Coin",
"coinKey": "USDC",
"priceUSD": "1.00",
"priceUpdatedAt": "2026-06-22T12:00:00.000Z",
"priceSource": "dexscreener",
"priceStale": false,
"priceTier": "cold",
"logoURI": "https://example.com/usdc.png"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"message": [
"senderAddress should not be empty",
"senderAddress must be a string"
]
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/quotes"
}{
"statusCode": 404,
"code": "NOT_FOUND",
"message": "Requested resource was not found",
"details": {
"message": "Requested resource was not found"
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/token?chain=8453&token=UNKNOWN"
}{
"statusCode": 429,
"code": "RATE_LIMIT",
"message": "Rate limit exceeded. Please try again later.",
"details": {
"message": "Rate limit exceeded. Please try again later."
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/quotes"
}Get token
Returns metadata for a single token on a specific chain. The token query parameter can be a token address or symbol.
curl --request GET \
--url https://api.delora.build/v1/tokenimport requests
url = "https://api.delora.build/v1/token"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.delora.build/v1/token', 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.delora.build/v1/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.delora.build/v1/token"
req, _ := http.NewRequest("GET", url, nil)
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.delora.build/v1/token")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.delora.build/v1/token")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"symbol": "USDC",
"decimals": 6,
"chainId": 8453,
"name": "USD Coin",
"coinKey": "USDC",
"priceUSD": "1.00",
"priceUpdatedAt": "2026-06-22T12:00:00.000Z",
"priceSource": "dexscreener",
"priceStale": false,
"priceTier": "cold",
"logoURI": "https://example.com/usdc.png"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"message": [
"senderAddress should not be empty",
"senderAddress must be a string"
]
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/quotes"
}{
"statusCode": 404,
"code": "NOT_FOUND",
"message": "Requested resource was not found",
"details": {
"message": "Requested resource was not found"
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/token?chain=8453&token=UNKNOWN"
}{
"statusCode": 429,
"code": "RATE_LIMIT",
"message": "Rate limit exceeded. Please try again later.",
"details": {
"message": "Rate limit exceeded. Please try again later."
},
"timestamp": "2026-05-15T16:58:45.603Z",
"path": "/v1/quotes"
}Headers
Optional API key for higher rate limits and fee rules.
Query Parameters
Chain ID or chain key, for example 8453 or sol.
"8453"
Token address or symbol.
"USDC"
Response
Token metadata response.
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
"USDC"
6
8453
"USD Coin"
"USDC"
Cached USD price as a decimal string, when available.
"1.00"
Timestamp of the cached token price, when available.
"2026-06-22T12:00:00.000Z"
Price source used for the cached token price, when available.
"dexscreener"
Whether the cached token price is outside Delora's freshness window.
false
Price refresh tier. hot tokens are prioritized for fresher cached prices; cold tokens refresh less aggressively.
hot, cold "cold"
"https://example.com/usdc.png"

