curl --request POST \
--url https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"chain_id": 1,
"query": {
"text": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"fields": [
"wallet_address"
]
},
"filter": {
"metrics.7d.cumulative_pnl": {
"$gt": 65000,
"$lt": 100000
}
},
"options": {
"include_metadata": true,
"include_metrics": [
"7d"
]
},
"sort": {
"field": "metrics.7d.cumulative_pnl",
"direction": "desc"
},
"limit": 10
}
'import requests
url = "https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles"
payload = {
"chain_id": 1,
"query": {
"text": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"fields": ["wallet_address"]
},
"filter": { "metrics.7d.cumulative_pnl": {
"$gt": 65000,
"$lt": 100000
} },
"options": {
"include_metadata": True,
"include_metrics": ["7d"]
},
"sort": {
"field": "metrics.7d.cumulative_pnl",
"direction": "desc"
},
"limit": 10
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain_id: 1,
query: {text: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', fields: ['wallet_address']},
filter: {'metrics.7d.cumulative_pnl': {$gt: 65000, $lt: 100000}},
options: {include_metadata: true, include_metrics: ['7d']},
sort: {field: 'metrics.7d.cumulative_pnl', direction: 'desc'},
limit: 10
})
};
fetch('https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles', 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://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles",
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([
'chain_id' => 1,
'query' => [
'text' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
'fields' => [
'wallet_address'
]
],
'filter' => [
'metrics.7d.cumulative_pnl' => [
'$gt' => 65000,
'$lt' => 100000
]
],
'options' => [
'include_metadata' => true,
'include_metrics' => [
'7d'
]
],
'sort' => [
'field' => 'metrics.7d.cumulative_pnl',
'direction' => 'desc'
],
'limit' => 10
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles"
payload := strings.NewReader("{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}"
response = http.request(request)
puts response.read_body{
"count": 123,
"cursor": "<string>",
"data": [
{
"updated_at": "2023-11-07T05:31:56Z",
"synced_at": "2023-11-07T05:31:56Z",
"chain_id": 123,
"wallet_address": "<string>",
"metadata": {
"last_trade_at": "2023-11-07T05:31:56Z"
},
"metrics": {}
}
]
}{
"error": "Bad request: Invalid request parameters"
}{
"error": "Unauthorized: Invalid or missing API key"
}{
"error": "Forbidden: Access denied for the current API plan"
}{
"error": "Too many requests: Rate limit exceeded"
}{
"error": "Internal server error"
}Search Profiles
Filter, query, and sort wallet profiles based on specified metrics and conditions.
curl --request POST \
--url https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"chain_id": 1,
"query": {
"text": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"fields": [
"wallet_address"
]
},
"filter": {
"metrics.7d.cumulative_pnl": {
"$gt": 65000,
"$lt": 100000
}
},
"options": {
"include_metadata": true,
"include_metrics": [
"7d"
]
},
"sort": {
"field": "metrics.7d.cumulative_pnl",
"direction": "desc"
},
"limit": 10
}
'import requests
url = "https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles"
payload = {
"chain_id": 1,
"query": {
"text": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"fields": ["wallet_address"]
},
"filter": { "metrics.7d.cumulative_pnl": {
"$gt": 65000,
"$lt": 100000
} },
"options": {
"include_metadata": True,
"include_metrics": ["7d"]
},
"sort": {
"field": "metrics.7d.cumulative_pnl",
"direction": "desc"
},
"limit": 10
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain_id: 1,
query: {text: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', fields: ['wallet_address']},
filter: {'metrics.7d.cumulative_pnl': {$gt: 65000, $lt: 100000}},
options: {include_metadata: true, include_metrics: ['7d']},
sort: {field: 'metrics.7d.cumulative_pnl', direction: 'desc'},
limit: 10
})
};
fetch('https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles', 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://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles",
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([
'chain_id' => 1,
'query' => [
'text' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
'fields' => [
'wallet_address'
]
],
'filter' => [
'metrics.7d.cumulative_pnl' => [
'$gt' => 65000,
'$lt' => 100000
]
],
'options' => [
'include_metadata' => true,
'include_metrics' => [
'7d'
]
],
'sort' => [
'field' => 'metrics.7d.cumulative_pnl',
'direction' => 'desc'
],
'limit' => 10
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles"
payload := strings.NewReader("{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://refract.prismapi.io/v1/evm/dex/profiles/wallets/search-profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chain_id\": 1,\n \"query\": {\n \"text\": \"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\n \"fields\": [\n \"wallet_address\"\n ]\n },\n \"filter\": {\n \"metrics.7d.cumulative_pnl\": {\n \"$gt\": 65000,\n \"$lt\": 100000\n }\n },\n \"options\": {\n \"include_metadata\": true,\n \"include_metrics\": [\n \"7d\"\n ]\n },\n \"sort\": {\n \"field\": \"metrics.7d.cumulative_pnl\",\n \"direction\": \"desc\"\n },\n \"limit\": 10\n}"
response = http.request(request)
puts response.read_body{
"count": 123,
"cursor": "<string>",
"data": [
{
"updated_at": "2023-11-07T05:31:56Z",
"synced_at": "2023-11-07T05:31:56Z",
"chain_id": 123,
"wallet_address": "<string>",
"metadata": {
"last_trade_at": "2023-11-07T05:31:56Z"
},
"metrics": {}
}
]
}{
"error": "Bad request: Invalid request parameters"
}{
"error": "Unauthorized: Invalid or missing API key"
}{
"error": "Forbidden: Access denied for the current API plan"
}{
"error": "Too many requests: Rate limit exceeded"
}{
"error": "Internal server error"
}Authorizations
Your Prism API key. You can get one for free in the Prism Dashboard.
Body
Numeric EVM chain ID to query. See Supported Chains.
Full-text query used to match profiles by a text value against one or more fields.
Show child attributes
Show child attributes
Conditions that a profile must satisfy to be included in the results.
Each key is either a field path paired with comparison operators, or a logical operator ($and, $or) that combines nested filter objects.
Show child attributes
Show child attributes
{ "$or": [ { "metrics.7d.cumulative_pnl": { "$gt": 65000, "$lt": 100000 } }, { "metrics.30d.max_drawdown": { "$lt": 20 } } ] }
Rule that determines the order in which matching profiles are returned.
Show child attributes
Show child attributes
Controls which optional sections are included in each returned wallet profile.
Show child attributes
Show child attributes
Maximum number of results to return in a single page.
1 <= x <= 100Opaque cursor returned by a previous response. Pass it to fetch the next page of results.
Was this page helpful?