curl --request POST \
--url https://api.hydric.org/v1/tokens/{chainId}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"search": "ETH",
"config": {
"limit": 10,
"orderBy": {
"field": "tvl",
"direction": "desc"
},
"cursor": null
},
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": false
}
}
'import requests
url = "https://api.hydric.org/v1/tokens/{chainId}/search"
payload = {
"search": "ETH",
"config": {
"limit": 10,
"orderBy": {
"field": "tvl",
"direction": "desc"
},
"cursor": None
},
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": 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({
search: 'ETH',
config: {limit: 10, orderBy: {field: 'tvl', direction: 'desc'}, cursor: null},
filters: {
minimumTotalValuePooledUsd: 10000,
minimumSwapsCount: 100,
minimumSwapVolumeUsd: 100000,
ignoreWrappedNative: false
}
})
};
fetch('https://api.hydric.org/v1/tokens/{chainId}/search', 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.hydric.org/v1/tokens/{chainId}/search",
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([
'search' => 'ETH',
'config' => [
'limit' => 10,
'orderBy' => [
'field' => 'tvl',
'direction' => 'desc'
],
'cursor' => null
],
'filters' => [
'minimumTotalValuePooledUsd' => 10000,
'minimumSwapsCount' => 100,
'minimumSwapVolumeUsd' => 100000,
'ignoreWrappedNative' => 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.hydric.org/v1/tokens/{chainId}/search"
payload := strings.NewReader("{\n \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\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.hydric.org/v1/tokens/{chainId}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydric.org/v1/tokens/{chainId}/search")
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 \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"tokens": [
{
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://logos.hydric.org/tokens/1/0x0000000000000000000000000000000000000000"
}
],
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": false
},
"nextCursor": "eJzLKCkpSs3LT0rNz0tRBAAdewMF"
}Search for tokens on a specific blockchain
Searches for tokens on the specified blockchain network by keyword (name or symbol).
curl --request POST \
--url https://api.hydric.org/v1/tokens/{chainId}/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"search": "ETH",
"config": {
"limit": 10,
"orderBy": {
"field": "tvl",
"direction": "desc"
},
"cursor": null
},
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": false
}
}
'import requests
url = "https://api.hydric.org/v1/tokens/{chainId}/search"
payload = {
"search": "ETH",
"config": {
"limit": 10,
"orderBy": {
"field": "tvl",
"direction": "desc"
},
"cursor": None
},
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": 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({
search: 'ETH',
config: {limit: 10, orderBy: {field: 'tvl', direction: 'desc'}, cursor: null},
filters: {
minimumTotalValuePooledUsd: 10000,
minimumSwapsCount: 100,
minimumSwapVolumeUsd: 100000,
ignoreWrappedNative: false
}
})
};
fetch('https://api.hydric.org/v1/tokens/{chainId}/search', 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.hydric.org/v1/tokens/{chainId}/search",
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([
'search' => 'ETH',
'config' => [
'limit' => 10,
'orderBy' => [
'field' => 'tvl',
'direction' => 'desc'
],
'cursor' => null
],
'filters' => [
'minimumTotalValuePooledUsd' => 10000,
'minimumSwapsCount' => 100,
'minimumSwapVolumeUsd' => 100000,
'ignoreWrappedNative' => 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.hydric.org/v1/tokens/{chainId}/search"
payload := strings.NewReader("{\n \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\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.hydric.org/v1/tokens/{chainId}/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydric.org/v1/tokens/{chainId}/search")
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 \"search\": \"ETH\",\n \"config\": {\n \"limit\": 10,\n \"orderBy\": {\n \"field\": \"tvl\",\n \"direction\": \"desc\"\n },\n \"cursor\": null\n },\n \"filters\": {\n \"minimumTotalValuePooledUsd\": 10000,\n \"minimumSwapsCount\": 100,\n \"minimumSwapVolumeUsd\": 100000,\n \"ignoreWrappedNative\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"tokens": [
{
"chainId": 1,
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
"logoUrl": "https://logos.hydric.org/tokens/1/0x0000000000000000000000000000000000000000"
}
],
"filters": {
"minimumTotalValuePooledUsd": 10000,
"minimumSwapsCount": 100,
"minimumSwapVolumeUsd": 100000,
"ignoreWrappedNative": false
},
"nextCursor": "eJzLKCkpSs3LT0rNz0tRBAAdewMF"
}Authorizations
Use the docs sandbox API key for authentication: hydric_docs_4N4ocuirsN8Sh
Path Parameters
The chain id of the network. This must be a supported network chain id.
1, 143, 130, 999, 8453, 9745, 534352 143
Body
The search term to filter assets by ticker symbol or name.
- Ticker Symbol or Name: (e.g., 'ETH', 'USD', 'Wrapped') — Case-insensitive substring match.
1"ETH"
Configuration for the search results such as limit, order, cursor, etc.
Show child attributes
Show child attributes
Additional filters to personalize the search results.
Show child attributes
Show child attributes
Response
The search results were successfully retrieved.
List of matching tokens on the specified blockchain
Show child attributes
Show child attributes
The filters applied to the search.
Show child attributes
Show child attributes
Cursor for the next page of search results. Null if no more results.
"eJzLKCkpSs3LT0rNz0tRBAAdewMF"
Was this page helpful?