curl --request POST \
--url https://api.tokenlayer.network/functions/v1/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "getTokensV2",
"hashtags": [
"defi",
"ethereum"
],
"keyword": "bitcoin",
"chains": [
"base",
"solana",
"ethereum"
],
"builder_code": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"stage": "graduating",
"order_by": "volume_24h",
"order_direction": "DESC",
"limit": 20,
"offset": 0,
"verified_only": false
}
'import requests
url = "https://api.tokenlayer.network/functions/v1/info"
payload = {
"type": "getTokensV2",
"hashtags": ["defi", "ethereum"],
"keyword": "bitcoin",
"chains": ["base", "solana", "ethereum"],
"builder_code": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"stage": "graduating",
"order_by": "volume_24h",
"order_direction": "DESC",
"limit": 20,
"offset": 0,
"verified_only": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'getTokensV2',
hashtags: ['defi', 'ethereum'],
keyword: 'bitcoin',
chains: ['base', 'solana', 'ethereum'],
builder_code: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
stage: 'graduating',
order_by: 'volume_24h',
order_direction: 'DESC',
limit: 20,
offset: 0,
verified_only: false
})
};
fetch('https://api.tokenlayer.network/functions/v1/info', 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.tokenlayer.network/functions/v1/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'getTokensV2',
'hashtags' => [
'defi',
'ethereum'
],
'keyword' => 'bitcoin',
'chains' => [
'base',
'solana',
'ethereum'
],
'builder_code' => '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
'stage' => 'graduating',
'order_by' => 'volume_24h',
'order_direction' => 'DESC',
'limit' => 20,
'offset' => 0,
'verified_only' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tokenlayer.network/functions/v1/info"
payload := strings.NewReader("{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.tokenlayer.network/functions/v1/info")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tokenlayer.network/functions/v1/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}"
response = http.request(request)
puts response.read_body{
"type": "getTokensV2",
"success": true,
"tokens": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"symbol": "<string>",
"slug": "<string>",
"logo": "<string>",
"banner_url": "<string>",
"video_url": "<string>",
"description": "<string>",
"token_layer_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"holders_count": 1,
"market_cap": 123,
"price": 123,
"volume_1m": 123,
"volume_5m": 123,
"volume_1h": 123,
"volume_24h": 123,
"price_change_24h": 123,
"price_change_24h_percent": 123,
"launchpad_supply": 123,
"launchpad_tokens_left": 123,
"launchpad_progress_pct": 123,
"trx": 1,
"token_addresses": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"token_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"address_display": "<string>",
"address_type": "evm",
"chain": "<string>",
"platform_name": "<string>",
"is_registered": true,
"dex_name": "<string>",
"dex_address": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"stage": "graduating",
"token_uri": "<string>",
"hashtags": [
"<string>"
],
"indexer_metadata": {
"token_uri": "<string>",
"resolved_metadata_url": "<string>",
"image_url": "<string>",
"image_storage_path": "<string>",
"image_storage_url": "<string>",
"banner_url": "<string>",
"name": "<string>",
"symbol": "<string>",
"description": "<string>",
"created_on": "<string>",
"token_layer_id": "<string>",
"hashtags": [
"<string>"
],
"token": "<string>",
"website": "<string>",
"twitter_url": "<string>",
"discord_url": "<string>",
"telegram_url": "<string>",
"farcaster_url": "<string>",
"github_url": "<string>",
"fetched_at": "2023-11-07T05:31:56Z",
"immutable": true,
"addresses": null,
"socials": null,
"attributes": null,
"raw_json": null
}
}
],
"pagination": {
"limit": 1,
"offset": 1,
"total_returned": 1,
"has_more": true
}
}{
"error": "<string>",
"success": false,
"code": "<string>",
"details": null
}{
"error": "<string>",
"success": false,
"code": "<string>",
"details": null
}Get info data
Generic read-oriented endpoint for info handlers.
Supported request types:
- getTokensV2
- quoteToken
- me
- getPoolData
- getUserBalance
- searchToken
- checkTokenOwnership
- getUserFees
- getUserFeeHistory
- getLeaderboard
- getUserPortfolio
- getTokenTrades
- getTokenTransfers
- getTokenActivity
- getTokenCandles
- getTokenStats
- getTokenAbout
curl --request POST \
--url https://api.tokenlayer.network/functions/v1/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "getTokensV2",
"hashtags": [
"defi",
"ethereum"
],
"keyword": "bitcoin",
"chains": [
"base",
"solana",
"ethereum"
],
"builder_code": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"stage": "graduating",
"order_by": "volume_24h",
"order_direction": "DESC",
"limit": 20,
"offset": 0,
"verified_only": false
}
'import requests
url = "https://api.tokenlayer.network/functions/v1/info"
payload = {
"type": "getTokensV2",
"hashtags": ["defi", "ethereum"],
"keyword": "bitcoin",
"chains": ["base", "solana", "ethereum"],
"builder_code": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"stage": "graduating",
"order_by": "volume_24h",
"order_direction": "DESC",
"limit": 20,
"offset": 0,
"verified_only": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'getTokensV2',
hashtags: ['defi', 'ethereum'],
keyword: 'bitcoin',
chains: ['base', 'solana', 'ethereum'],
builder_code: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
stage: 'graduating',
order_by: 'volume_24h',
order_direction: 'DESC',
limit: 20,
offset: 0,
verified_only: false
})
};
fetch('https://api.tokenlayer.network/functions/v1/info', 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.tokenlayer.network/functions/v1/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'getTokensV2',
'hashtags' => [
'defi',
'ethereum'
],
'keyword' => 'bitcoin',
'chains' => [
'base',
'solana',
'ethereum'
],
'builder_code' => '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
'stage' => 'graduating',
'order_by' => 'volume_24h',
'order_direction' => 'DESC',
'limit' => 20,
'offset' => 0,
'verified_only' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tokenlayer.network/functions/v1/info"
payload := strings.NewReader("{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.tokenlayer.network/functions/v1/info")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tokenlayer.network/functions/v1/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"getTokensV2\",\n \"hashtags\": [\n \"defi\",\n \"ethereum\"\n ],\n \"keyword\": \"bitcoin\",\n \"chains\": [\n \"base\",\n \"solana\",\n \"ethereum\"\n ],\n \"builder_code\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\",\n \"stage\": \"graduating\",\n \"order_by\": \"volume_24h\",\n \"order_direction\": \"DESC\",\n \"limit\": 20,\n \"offset\": 0,\n \"verified_only\": false\n}"
response = http.request(request)
puts response.read_body{
"type": "getTokensV2",
"success": true,
"tokens": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"symbol": "<string>",
"slug": "<string>",
"logo": "<string>",
"banner_url": "<string>",
"video_url": "<string>",
"description": "<string>",
"token_layer_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"holders_count": 1,
"market_cap": 123,
"price": 123,
"volume_1m": 123,
"volume_5m": 123,
"volume_1h": 123,
"volume_24h": 123,
"price_change_24h": 123,
"price_change_24h_percent": 123,
"launchpad_supply": 123,
"launchpad_tokens_left": 123,
"launchpad_progress_pct": 123,
"trx": 1,
"token_addresses": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"token_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"address_display": "<string>",
"address_type": "evm",
"chain": "<string>",
"platform_name": "<string>",
"is_registered": true,
"dex_name": "<string>",
"dex_address": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"stage": "graduating",
"token_uri": "<string>",
"hashtags": [
"<string>"
],
"indexer_metadata": {
"token_uri": "<string>",
"resolved_metadata_url": "<string>",
"image_url": "<string>",
"image_storage_path": "<string>",
"image_storage_url": "<string>",
"banner_url": "<string>",
"name": "<string>",
"symbol": "<string>",
"description": "<string>",
"created_on": "<string>",
"token_layer_id": "<string>",
"hashtags": [
"<string>"
],
"token": "<string>",
"website": "<string>",
"twitter_url": "<string>",
"discord_url": "<string>",
"telegram_url": "<string>",
"farcaster_url": "<string>",
"github_url": "<string>",
"fetched_at": "2023-11-07T05:31:56Z",
"immutable": true,
"addresses": null,
"socials": null,
"attributes": null,
"raw_json": null
}
}
],
"pagination": {
"limit": 1,
"offset": 1,
"total_returned": 1,
"has_more": true
}
}{
"error": "<string>",
"success": false,
"code": "<string>",
"details": null
}{
"error": "<string>",
"success": false,
"code": "<string>",
"details": null
}Authorizations
JWT token or API key
Body
- Get Tokens V2
- Quote Token
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
Fetch tokens list with trading metrics
getTokensV2 Filter tokens by hashtags (must match ALL hashtags provided - AND logic)
["defi", "ethereum"]
Search keyword to filter by token name, symbol, or description (case-insensitive)
"bitcoin"
Filter tokens by chain slugs (returns tokens available on any of the specified chains)
Blockchain identifier. Supported chains: solana, solana-devnet, arbitrum, base, base-sepolia, avalanche, op-bnb, bnb, bnb-testnet, ethereum, monad, unichain, unichain-testnet, abstract, polygon, zksync, zksync-testnet
solana, solana-devnet, arbitrum, base, base-sepolia, avalanche, op-bnb, bnb, bnb-testnet, ethereum, monad, unichain, unichain-testnet, abstract, polygon, zksync, zksync-testnet ["base", "solana", "ethereum"]
Filter tokens by builder address (case-insensitive). Returns only tokens deployed by this builder.
^0x[a-fA-F0-9]{40}$"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
Filter tokens by launch stage. Defaults to stage-specific ordering when provided without an explicit order_by.
new, graduating, graduated "graduating"
Field to order results by
volume_1m, volume_5m, volume_1h, volume_24h, market_cap, price_change_24h, trx, holders, created_at "volume_24h"
Sort direction
ASC, DESC "DESC"
Maximum number of tokens to return
1 <= x <= 10020
Number of tokens to skip for pagination
x >= 00
Only return tokens with token_layer_id (verified)
false
Response
Successful response
- Get Tokens V2 Response
- Quote Token Response
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
