REFERENCE
API reference
QED checks tokens that claim to be something against the contract their issuer publishes. This API guide documents the machine-readable checks, signed reviews, and verification routes.
Attestations
/api/attest/{id}Fetch a signed attestation
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
id | path | Required | string |
GET https://qed.web3-energy.com/api/attest/DOCUMENT_ID{
"block": null,
"chain": "Base",
"checked_at": "2026-01-01T00:00:00Z",
"dev": false,
"expires_at": "2099-01-01T00:00:00Z",
"id": "0e9596ff7ba53868e82291934a69a14cc67b3f1cd8625b87013199e128533ffc",
"issuer": null,
"pool": {
"base": {
"address": "0x0000000000000000000000000000000000000002",
"balance": "1",
"decimals": 18,
"symbol": "xNVDA"
},
"chain": "Base",
"dex": "uniswap-v2",
"pool": "0x0000000000000000000000000000000000000001",
"quote": {
"address": "0x0000000000000000000000000000000000000003",
"balance": "2",
"decimals": 6,
"symbol": "USDG"
}
},
"quote_share_of_supply": 0.2,
"reads": [],
"registry_entry": null,
"registry_hash": "",
"signature": "84oE823lfrGrxsjGsYTBf+e+SeKeBcMJfZc5KM73U4vHgfz2JQmKw0rBPYU5Y2OGPkSuasG4n2KYOjGmxy+JDA==",
"signer": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"slot": null,
"subject": "0x0000000000000000000000000000000000000001",
"ticker": null,
"verdict": "NoMatch",
"version": 1
}Checks
/api/check/{address}Check a pool or token
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
address | path | Required | string |
GET https://qed.web3-energy.com/api/check/YOUR_ADDRESS{
"attestation_id": null,
"chain": "Base",
"checked_at": "2026-01-01T00:00:00Z",
"evidence": [],
"input": "0x0000000000000000000000000000000000000001",
"pool": {
"base": {
"address": "0x0000000000000000000000000000000000000002",
"balance": "1",
"decimals": 18,
"symbol": "xNVDA"
},
"chain": "Base",
"dex": "uniswap-v2",
"pool": "0x0000000000000000000000000000000000000001",
"quote": {
"address": "0x0000000000000000000000000000000000000003",
"balance": "2",
"decimals": 6,
"symbol": "USDG"
}
},
"powers": null,
"quote_share_of_supply": 0.2,
"verdict": "NoMatch"
}Discovery
/.well-known/mcp/server-card.jsonMCP server card
GET https://qed.web3-energy.com/.well-known/mcp/server-card.json{
"description": "QED is read-only by design: it never holds keys, never submits transactions, and never recommends. It compares token and pool facts with issuer publications. It does not prove backing, custody, reserves, solvency, safety, price, liquidity, or endorsement.",
"name": "QED",
"readOnly": true,
"readOnlyStatement": "QED is read-only by design: it never holds keys, never submits transactions, and never recommends.",
"remotes": [
{
"type": "streamable-http",
"url": "https://qed.web3-energy.com/mcp"
}
],
"repository": "https://github.com/boev/qed",
"serverInfo": {
"name": "QED",
"version": "0.1.0"
},
"tools": [
{
"description": "Check whether a pool or token address matches an issuer's published stock-token contract, for tokens that claim to be something. It does not prove backing, custody, reserves, solvency, safety, price, liquidity, or endorsement.",
"name": "qed_check",
"title": "Check issuer contract match"
},
{
"description": "Create a signed QED Guard review for supported-chain tokens and pool addresses validated by the known-pool index or on-chain factory/derivation checks; unindexed Solana accounts are reviewed as tokens. The review includes issuer identity, token powers, source status, and known pool facts. QED never holds keys, submits transactions, or recommends. It does not prove backing, custody, reserves, solvency, safety, price, liquidity, or endorsement.",
"name": "qed_guard",
"title": "Review a token or pool"
},
…
],
"website": "https://qed.web3-energy.com"
}/.well-known/qed.jsonPublic verification key
GET https://qed.web3-energy.com/.well-known/qed.json{
"algorithm": "Ed25519",
"dev": false,
"key": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"name": "QED",
"public_key": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"version": 1
}Guard
/api/guardCreate a signed Guard review with a JSON request body
POST https://qed.web3-energy.com/api/guard
Content-Type: application/json
{
"address": "0x0000000000000000000000000000000000000001",
"chain": "base",
"wallet": "0x0000000000000000000000000000000000000004"
}{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base",
"dev": false,
"id": "0000000000000000000000000000000000000000000000000000000000000000",
"identity": {
"matched_contract": "0x0000000000000000000000000000000000000001",
"publisher": "Example Publisher",
"status": "match",
"ticker": "NVDA"
},
"kind": "guard",
"observed_at": "2026-10-05T12:00:00Z",
"pools": [],
"powers": null,
"public_key": "base58-ed25519-public-key",
"reads": [],
"reads_truncated": false,
"reasons": [],
"signature": "base64-signature",
"source": {
"provider": "Sourcify",
"status": "unavailable"
},
"subject_address": "0x0000000000000000000000000000000000000001",
"subject_type": "token",
"verdict": "unknown",
"wallet": null
}/api/guard/{address}Create a signed Guard review
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
address | path | Required | string |
chain | query | Required | string |
wallet | query | Optional | string — Optional wallet; query-string privacy tradeoff applies. Prefer POST /api/guard. |
GET https://qed.web3-energy.com/api/guard/YOUR_ADDRESS?chain=solana{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base",
"dev": false,
"id": "0000000000000000000000000000000000000000000000000000000000000000",
"identity": {
"matched_contract": "0x0000000000000000000000000000000000000001",
"publisher": "Example Publisher",
"status": "match",
"ticker": "NVDA"
},
"kind": "guard",
"observed_at": "2026-10-05T12:00:00Z",
"pools": [],
"powers": null,
"public_key": "base58-ed25519-public-key",
"reads": [],
"reads_truncated": false,
"reasons": [],
"signature": "base64-signature",
"source": {
"provider": "Sourcify",
"status": "unavailable"
},
"subject_address": "0x0000000000000000000000000000000000000001",
"subject_type": "pool",
"verdict": "unknown",
"wallet": null,
"wallet_check": null
}Health
/healthzHealth
GET https://qed.web3-energy.com/healthz{
"status": "ok"
}Leaderboard
/api/leaderboardLeaderboard page
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
page | query | Optional | integer |
per | query | Optional | integer |
sort | query | Optional | string |
dir | query | Optional | string |
GET https://qed.web3-energy.com/api/leaderboard{
"empty_successful": false,
"entries": [
{
"attestation_id": null,
"base_symbol": "NVDA",
"chain": "solana",
"chain_label": "Solana",
"change_24h_pct": 1.25,
"checked_at": null,
"detail_url": "/validated/solana/pool",
"dex": "raydium",
"explorer_url": "https://solscan.io/account/pool",
"issuer": "Backed xStocks",
"liquidity_usd": 1250000.0,
"pool": "leaderboard-pool",
"price_usd": 132.5,
"quote_symbol": "USDC",
"rank": 1,
"ticker": "NVDA",
"trade_url": "https://dexscreener.com/solana/pool",
"txns_24h": 120,
"verdict": "verified",
"volume_24h_usd": 500000.0
}
],
"next_refresh_at": "2026-10-04T18:00:00Z",
"page": 1,
"per": 10,
"prices_updated_at": "2026-10-04T12:00:00Z",
"refreshing": false,
"registry": {
"entries": 2,
"issuers": 1,
"next_refresh_at": "2026-10-04T13:00:00Z",
"refreshing": false,
"restored": true,
"updated_at": "2026-10-04T12:00:00Z"
},
"restored": true,
"source": "DexScreener + on-chain reads",
"total": 1,
"updated_at": "2026-10-04T12:00:00Z"
}MCP
/mcpMCP tools (2026-07-28; legacy 2025-11-25, 2025-06-18, 2025-03-26 initialize)
POST https://qed.web3-energy.com/mcp
Content-Type: application/json
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"ticker": "NVDA"
},
"name": "qed_registry_lookup"
}
}{
"id": 1,
"jsonrpc": "2.0",
"result": {
"content": [
{
"text": "Found 4 active issuer registry entries for NVDA.",
"type": "text"
}
],
"isError": false,
"structuredContent": {
"entries": [
{
"chain": "Bnb",
"contract": "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
"decimals": null,
"issuer": "Backed xStocks",
"last_checked": "2026-09-22T21:26:41Z",
"name": "NVIDIA",
"source": "xstocks-api",
"source_url": "https://api.xstocks.fi/api/v2/public/assets",
"ticker": "NVDA"
},
{
"chain": "Ethereum",
"contract": "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
"decimals": null,
"issuer": "Backed xStocks",
"last_checked": "2026-09-22T21:26:41Z",
"name": "NVIDIA",
"source": "xstocks-api",
"source_url": "https://api.xstocks.fi/api/v2/public/assets",
"ticker": "NVDA"
},
…
],
"ticker": "NVDA"
}
}
}Pools
/api/pools/featuredFeatured pools
GET https://qed.web3-energy.com/api/pools/featured[
{
"base_address": "XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB",
"base_symbol": "TSLA",
"chain": "Solana",
"curated": false,
"dex": "raydium",
"issuer": "Backed xStocks",
"liquidity_usd": 450000.0,
"note": null,
"pool": "featured-pool",
"quote_address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"quote_balance": "1200000000",
"quote_share_of_supply": 0.2,
"quote_symbol": "USDC",
"ticker": "TSLA",
"updated_at": "2026-10-04T12:00:00Z",
"verdict": "verified",
"volume_24h_usd": 125000.0
}
]Prices
/api/pricesPool prices
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
ids | query | Required | string |
GET https://qed.web3-energy.com/api/prices?ids=solana:POOL_ID{
"prices": [
{
"chain": "solana",
"change_24h_pct": 1.5,
"liquidity_usd": 200.0,
"pool": "known",
"price_usd": 12.5,
"volume_24h_usd": 100.0
}
],
"updated_at": "2026-10-04T12:00:00Z"
}Registry
/api/registryIssuer registry
GET https://qed.web3-energy.com/api/registry[
{
"chain": "Bnb",
"contract": "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
"decimals": null,
"issuer": "Backed xStocks",
"last_checked": "2026-09-22T21:26:41Z",
"name": "NVIDIA",
"source": "xstocks-api",
"source_url": "https://api.xstocks.fi/api/v2/public/assets",
"ticker": "NVDA"
},
{
"chain": "Ethereum",
"contract": "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
"decimals": null,
"issuer": "Backed xStocks",
"last_checked": "2026-09-22T21:26:41Z",
"name": "NVIDIA",
"source": "xstocks-api",
"source_url": "https://api.xstocks.fi/api/v2/public/assets",
"ticker": "NVDA"
}
]Statements
/api/statementCreate a signed wallet statement
POST https://qed.web3-energy.com/api/statement
Content-Type: application/json
{
"block": 23000000,
"chains": [
"base"
],
"wallets": [
"0x0000000000000000000000000000000000000001"
]
}{
"assets": [
{
"balance": "1250000000000000000",
"chain": "Base",
"contract": "0x0000000000000000000000000000000000000002",
"decimals": 18,
"issuer": "Backed xStocks",
"issuer_match": true,
"powers_block": 23000000,
"powers_observed_at": "2026-09-22T12:00:00Z",
"powers_summary": {
"can_block": [],
"can_change_rules": [],
"can_seize": [],
"unavailable": [
{
"code": "rpc<timeout>",
"detail": "read & retry"
}
]
},
"slot": null,
"ticker": "NVDA",
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"block": 23000000,
"dev": false,
"id": "fb3a9270f0c364be29ca410bbe5074e53b42df96970f9fc4a47d7c8d63cf0905",
"kind": "statement",
"observed_at": "2026-09-22T12:00:00Z",
"positions": [
{
"block": 23000000,
"chain": "Base",
"max_slot": null,
"min_slot": null,
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"reads": [],
"reads_truncated": false,
"signature": "vSaEZwxJjk1YVZiWC1D/umfJrw+xNkrjUbOpfB7dyJ9McigMo4RbON6ThH6YwhERblAT9H/IOLImv+h7pkH4Cg==",
"signer": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"version": 1,
"wallets": [
{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base"
}
]
}/api/statement/{id}Fetch a cached signed wallet statement JSON document
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
id | path | Required | string |
GET https://qed.web3-energy.com/api/statement/DOCUMENT_ID{
"assets": [
{
"balance": "1250000000000000000",
"chain": "Base",
"contract": "0x0000000000000000000000000000000000000002",
"decimals": 18,
"issuer": "Backed xStocks",
"issuer_match": true,
"powers_block": 23000000,
"powers_observed_at": "2026-09-22T12:00:00Z",
"powers_summary": {
"can_block": [],
"can_change_rules": [],
"can_seize": [],
"unavailable": [
{
"code": "rpc<timeout>",
"detail": "read & retry"
}
]
},
"slot": null,
"ticker": "NVDA",
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"block": 23000000,
"dev": false,
"id": "fb3a9270f0c364be29ca410bbe5074e53b42df96970f9fc4a47d7c8d63cf0905",
"kind": "statement",
"observed_at": "2026-09-22T12:00:00Z",
"positions": [
{
"block": 23000000,
"chain": "Base",
"max_slot": null,
"min_slot": null,
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"reads": [],
"reads_truncated": false,
"signature": "vSaEZwxJjk1YVZiWC1D/umfJrw+xNkrjUbOpfB7dyJ9McigMo4RbON6ThH6YwhERblAT9H/IOLImv+h7pkH4Cg==",
"signer": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"version": 1,
"wallets": [
{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base"
}
]
}/statements/{id}View a signed wallet statement
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
id | path | Required | string |
GET https://qed.web3-energy.com/statements/DOCUMENT_ID"<!doctype html><html lang=\"en\"><title>Signed QED statement</title></html>"Status
/api/statusFreshness status
GET https://qed.web3-energy.com/api/status{
"featured": {
"empty_successful": false,
"next_refresh_at": "2026-10-04T18:00:00Z",
"refreshing": false,
"restored": true,
"updated_at": "2026-10-04T12:00:00Z"
},
"leaderboard": {
"empty_successful": false,
"next_refresh_at": "2026-10-04T18:00:00Z",
"refreshing": false,
"restored": true,
"updated_at": "2026-10-04T12:00:00Z"
},
"prices": {
"updated_at": "2026-10-04T12:00:00Z"
},
"registry": {
"entries": 120,
"issuers": 6,
"next_refresh_at": "2026-10-04T13:00:00Z",
"refreshing": false,
"restored": true,
"updated_at": "2026-10-04T12:00:00Z"
}
}Token powers
/api/powers/{address}Observed token powers for any supported-chain contract
Parameters
| Name | In | Required | Type / description |
|---|---|---|---|
address | path | Required | string |
chain | query | Optional | string — Optional chain filter; without it, active registry matches are returned, or the EVM chain is detected for an unregistered contract. |
GET https://qed.web3-energy.com/api/powers/YOUR_ADDRESS{
"block": 42,
"can_block": [],
"can_change_rules": [],
"can_seize": [],
"chain": "Base",
"contract": "0x0000000000000000000000000000000000000002",
"observed_at": "2026-10-02T00:00:00Z",
"reads": [],
"slot": null,
"source_verified": "none",
"source_verified_subject": "contract",
"unavailable": []
}Verification
/verifyVerify a signed attestation, statement, or Guard
Signed attestation
POST https://qed.web3-energy.com/verify
Content-Type: application/json
{
"block": null,
"chain": "Base",
"checked_at": "2026-01-01T00:00:00Z",
"dev": false,
"expires_at": "2099-01-01T00:00:00Z",
"id": "0e9596ff7ba53868e82291934a69a14cc67b3f1cd8625b87013199e128533ffc",
"issuer": null,
"pool": {
"base": {
"address": "0x0000000000000000000000000000000000000002",
"balance": "1",
"decimals": 18,
"symbol": "xNVDA"
},
"chain": "Base",
"dex": "uniswap-v2",
"pool": "0x0000000000000000000000000000000000000001",
"quote": {
"address": "0x0000000000000000000000000000000000000003",
"balance": "2",
"decimals": 6,
"symbol": "USDG"
}
},
"quote_share_of_supply": 0.2,
"reads": [],
"registry_entry": null,
"registry_hash": "",
"signature": "84oE823lfrGrxsjGsYTBf+e+SeKeBcMJfZc5KM73U4vHgfz2JQmKw0rBPYU5Y2OGPkSuasG4n2KYOjGmxy+JDA==",
"signer": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"slot": null,
"subject": "0x0000000000000000000000000000000000000001",
"ticker": null,
"verdict": "NoMatch",
"version": 1
}Signed Guard document (schematic signature placeholders)
POST https://qed.web3-energy.com/verify
Content-Type: application/json
{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base",
"dev": false,
"id": "0000000000000000000000000000000000000000000000000000000000000000",
"identity": {
"matched_contract": "0x0000000000000000000000000000000000000001",
"publisher": "Example Publisher",
"status": "match",
"ticker": "NVDA"
},
"kind": "guard",
"observed_at": "2026-10-05T12:00:00Z",
"pools": [],
"powers": null,
"public_key": "base58-ed25519-public-key",
"reads": [],
"reads_truncated": false,
"reasons": [],
"signature": "base64-signature",
"source": {
"provider": "Sourcify",
"status": "unavailable"
},
"verdict": "unknown",
"wallet": null,
"wallet_check": null
}Signed wallet statement
POST https://qed.web3-energy.com/verify
Content-Type: application/json
{
"assets": [
{
"balance": "1250000000000000000",
"chain": "Base",
"contract": "0x0000000000000000000000000000000000000002",
"decimals": 18,
"issuer": "Backed xStocks",
"issuer_match": true,
"powers_block": 23000000,
"powers_observed_at": "2026-09-22T12:00:00Z",
"powers_summary": {
"can_block": [],
"can_change_rules": [],
"can_seize": [],
"unavailable": [
{
"code": "rpc<timeout>",
"detail": "read & retry"
}
]
},
"slot": null,
"ticker": "NVDA",
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"block": 23000000,
"dev": false,
"id": "fb3a9270f0c364be29ca410bbe5074e53b42df96970f9fc4a47d7c8d63cf0905",
"kind": "statement",
"observed_at": "2026-09-22T12:00:00Z",
"positions": [
{
"block": 23000000,
"chain": "Base",
"max_slot": null,
"min_slot": null,
"wallet": "0x0000000000000000000000000000000000000001"
}
],
"reads": [],
"reads_truncated": false,
"signature": "vSaEZwxJjk1YVZiWC1D/umfJrw+xNkrjUbOpfB7dyJ9McigMo4RbON6ThH6YwhERblAT9H/IOLImv+h7pkH4Cg==",
"signer": "GmaDrppBC7P5ARKV8g3djiwP89vz1jLK23V2GBjuAEGB",
"version": 1,
"wallets": [
{
"address": "0x0000000000000000000000000000000000000001",
"chain": "Base"
}
]
}Attestation verification
{
"cryptographic": true,
"environment_match": true,
"fresh": true,
"id": "0e9596ff7ba53868e82291934a69a14cc67b3f1cd8625b87013199e128533ffc",
"kind": "attestation",
"ok": true,
"trusted_signer": true
}Guard verification
{
"cryptographic": true,
"environment_match": true,
"fresh": null,
"id": "0000000000000000000000000000000000000000000000000000000000000000",
"kind": "guard",
"ok": true,
"trusted_signer": true
}Statement verification
{
"cryptographic": true,
"environment_match": true,
"fresh": null,
"id": "fb3a9270f0c364be29ca410bbe5074e53b42df96970f9fc4a47d7c8d63cf0905",
"kind": "statement",
"ok": true,
"trusted_signer": true
}Wallet
/api/walletCheck stock-token holdings
POST https://qed.web3-energy.com/api/wallet
Content-Type: application/json
{
"address": "0x0000000000000000000000000000000000000001"
}{
"address": "0x0000000000000000000000000000000000000001",
"holdings": [
{
"amount": "1.25",
"chain": "Base",
"pool_url": null,
"reason": null,
"symbol": "NVDA",
"trade_links": [],
"verdict": "Contract matches issuer registry",
"verdict_class": "is-verified"
}
]
}