Endpoints
initInfo
Get holder distribution snapshot at token launch. Identifies insiders, snipers, and unfair distribution patterns from the initial liquidity pool creation - not current holders.
GET
/
initInfo
cURL
curl 'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC' \
-H 'x-api-key: YOUR_API_KEY'const response = await fetch(
'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC',
{
headers: { 'x-api-key': 'YOUR_API_KEY' }
}
);
const data = await response.json();import requests
response = requests.get(
'https://dashboard.eva-ai.io/api/initInfo',
params={'chain': 56, 'ca': '0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC'},
headers={'x-api-key': 'YOUR_API_KEY'}
)
data = response.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);package main
import (
"net/http"
"io"
)
func main() {
req, _ := http.NewRequest("GET", "https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC", nil)
req.Header.Add("x-api-key", "YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
}HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC"))
.header("x-api-key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'json'
uri = URI('https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC')
req = Net::HTTP::Get.new(uri)
req['x-api-key'] = 'YOUR_API_KEY'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"lpAddress": "0xde3314393f7a2977e0a531f2a646c71d5a2c105c",
"lpCreationBlock": 46481129,
"holderSnapshot": [
{
"address": "0xd26fe1fa7cfaa647da28918b29a1b574551824b8",
"balance": "800000000000000000000000000",
"percentage": "80%",
"label": "Insider"
},
{
"address": "0xde3314393f7a2977e0a531f2a646c71d5a2c105c",
"balance": "199200000000000000000001858",
"percentage": "19.92%",
"label": "LP"
},
{
"address": "0x521faacdfa097ad35a32387727e468f7fd032fd6",
"balance": "799999999999999999997512",
"percentage": "0.08%",
"label": "Sniper"
}
],
"summary": {
"totalHolders": 4,
"totalPercentageHeld": "100.0000%",
"lp": {
"count": 1,
"percentage": "19.9200%"
},
"contract": {
"count": 0,
"percentage": "0.0000%"
},
"insiders": {
"count": 2,
"percentage": "80.0000%"
},
"snipers": {
"count": 1,
"percentage": "0.0800%"
},
"earlyBuyers": {
"count": 0,
"percentage": "0.0000%"
},
"others": {
"count": 0,
"percentage": "0.0000%"
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Too many requests",
"limit": 60,
"retryAfter": "60s"
}Headers
API key for higher rate limits (optional). Get one at dashboard.eva-ai.io
Query Parameters
Chain ID (e.g., 1 = Ethereum, 56 = BSC, 8453 = Base)
Contract address
Response
Launch analysis response
Holder distribution snapshot at token launch
Liquidity pool address
Example:
"0xde3314393f7a2977e0a531f2a646c71d5a2c105c"
Block number when LP was created
Example:
46481129
Holder distribution at launch
Show child attributes
Show child attributes
Summary of holder distribution at launch
Show child attributes
Show child attributes
⌘I
cURL
curl 'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC' \
-H 'x-api-key: YOUR_API_KEY'const response = await fetch(
'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC',
{
headers: { 'x-api-key': 'YOUR_API_KEY' }
}
);
const data = await response.json();import requests
response = requests.get(
'https://dashboard.eva-ai.io/api/initInfo',
params={'chain': 56, 'ca': '0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC'},
headers={'x-api-key': 'YOUR_API_KEY'}
)
data = response.json()<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);package main
import (
"net/http"
"io"
)
func main() {
req, _ := http.NewRequest("GET", "https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC", nil)
req.Header.Add("x-api-key", "YOUR_API_KEY")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
}HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC"))
.header("x-api-key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'json'
uri = URI('https://dashboard.eva-ai.io/api/initInfo?chain=56&ca=0x2C45560bC707f7aDDb8dF848A9Ba6cd9F30FAEeC')
req = Net::HTTP::Get.new(uri)
req['x-api-key'] = 'YOUR_API_KEY'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"lpAddress": "0xde3314393f7a2977e0a531f2a646c71d5a2c105c",
"lpCreationBlock": 46481129,
"holderSnapshot": [
{
"address": "0xd26fe1fa7cfaa647da28918b29a1b574551824b8",
"balance": "800000000000000000000000000",
"percentage": "80%",
"label": "Insider"
},
{
"address": "0xde3314393f7a2977e0a531f2a646c71d5a2c105c",
"balance": "199200000000000000000001858",
"percentage": "19.92%",
"label": "LP"
},
{
"address": "0x521faacdfa097ad35a32387727e468f7fd032fd6",
"balance": "799999999999999999997512",
"percentage": "0.08%",
"label": "Sniper"
}
],
"summary": {
"totalHolders": 4,
"totalPercentageHeld": "100.0000%",
"lp": {
"count": 1,
"percentage": "19.9200%"
},
"contract": {
"count": 0,
"percentage": "0.0000%"
},
"insiders": {
"count": 2,
"percentage": "80.0000%"
},
"snipers": {
"count": 1,
"percentage": "0.0800%"
},
"earlyBuyers": {
"count": 0,
"percentage": "0.0000%"
},
"others": {
"count": 0,
"percentage": "0.0000%"
}
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Too many requests",
"limit": 60,
"retryAfter": "60s"
}