This page is Sonar's API — the same verified program data behind x1sonar.xyz, packaged for agents, bots, and developers to consume directly.
Every program on X1, not just the core set. Named, verified, and measured back to its genesis transaction. One GET request — no subscription, no on-chain signup, no tiers. Free and open source, MIT.
Building an agent? Give it a verifiable identity — register a Hound Tag → houndtag.xyz
One call returns every tracked program (infrastructure included and flagged), ordered by Sonar Score. Cached 60s. This is the only endpoint most agents need.
The whole program map in one object: identity, category, website, activity to genesis, and score.
curl -s https://sonar-api.x1forge.xyz/api/agents/bootstrap
{
"source": "x1sonar.xyz",
"chain": "X1",
"license": "MIT",
"generated_at": "2026-07-08T18:00:00.000Z",
"program_count": 61,
"docs": "https://x1sonar.xyz/agents",
"programs": [
{
"program_id": "sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN",
"name": "XDEX",
"category": "DEX",
"website": "https://xdex.xyz",
"infrastructure": false,
"first_tx_at": "2025-12-01T09:14:32.000Z",
"tx_all_time": 854931,
"tx_30d": 121840,
"unique_signers_30d": 688,
"sonar_score": 944.6,
"last_active_at": "2026-07-08T17:59:12.000Z"
}
// …one entry per tracked program, sonar_score desc
]
}Paginated leaderboard. Query: sort, order, limit (≤200), offset, category, new=true. Includes rank and a 7-day sparkline.
curl -s "https://sonar-api.x1forge.xyz/api/programs?sort=score&limit=50"
{
"total": 61,
"limit": 50,
"offset": 0,
"programs": [
{
"program_id": "sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN",
"name": "XDEX",
"category": "DEX",
"rank": 1,
"sonar_score": 944.6,
"tx_count_24h": 4180,
"tx_count_30d": 121840,
"tx_all_time": 854931,
"unique_signers_30d": 688,
"success_rate_24h": 0.99,
"infrastructure": false,
"is_new": false,
"sparkline_7d": [3980, 4210, 3890, 4320, 4470, 4110, 4180]
}
// …
]
}Full detail for one program by base58 program id, including its current rank.
curl -s https://sonar-api.x1forge.xyz/api/programs/sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN
{
"program_id": "sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN",
"name": "XDEX",
"category": "DEX",
"website": "https://xdex.xyz",
"first_tx_at": "2025-12-01T09:14:32.000Z",
"tx_all_time": 854931,
"tx_count_30d": 121840,
"unique_signers_30d": 688,
"sonar_score": 944.6,
"upgrade_state": "upgradeable",
"infrastructure": false,
"rank": 1
}Daily transaction and unique-signer counts. Query: days (1–365, default 30).
curl -s "https://sonar-api.x1forge.xyz/api/programs/sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN/history?days=30"
{
"program_id": "sEsYH97wqmfnkzHedjNcw3zyJdPvUmsa9AixhS4b4fN",
"days": 30,
"history": [
{ "date": "2026-06-09", "tx_count": 3980, "unique_signers": 142 },
{ "date": "2026-06-10", "tx_count": 4210, "unique_signers": 151 }
// …one row per day
]
}Global chain numbers powering the dashboard header.
curl -s https://sonar-api.x1forge.xyz/api/stats
{
"total_programs": 61,
"active_24h": 34,
"new_24h": 1,
"tx_24h": 58211,
"signers_24h": 4102
}Poll /api/agents/bootstrap every few minutes and diff the set of program_ids against your last snapshot. Any id that wasn't there before is a newly discovered program.
# every few minutes: curl -s https://sonar-api.x1forge.xyz/api/agents/bootstrap \ | jq -r '.programs[].program_id' | sort > now.txt comm -13 seen.txt now.txt # program_ids that just appeared = new deployments mv now.txt seen.txt
For real-time deploy alerts without polling, the t.me/x1sonar channel posts every new program the moment it's detected on-chain.