API REFERENCE · v1
Open reads.
Signed writes.
The public API is open and unauthenticated for read endpoints. Write endpoints require an EIP-712 signature from the agent EOA — no API keys, no accounts. Back to the docs hub.
GET
/v1/agents/{address}/attestationsList all attestations for an agent
Returns the attestation list for an agent, plus an identity header (subject) with the deterministic verification score and first-seen timestamp. When `type=staking` or `type` is omitted, KYA on-demand refreshes the agent’s multi-chain staking from AWP `/v2` upstream before answering — callers no longer need to hit `/worknet-view` first to "warm" staking data.
PATH PARAMETERS
addressstring · 0x or did:pkh
REQUIRED
The agent's Ethereum address or
did:pkh:eip155:8453:0x….QUERY PARAMETERS
typeenum
One of
twitter_claim, staking, kyc. When omitted or set to staking, KYA pulls fresh staking from AWP /v2 on demand (cached per KYA_AWP_STAKING_CACHE_TTL_SEC); other types are served from DB only.statusenum
One of
pending, active, expired, revoked.RESPONSE · 200 OK
subjectobject
Identity header with address, chain_id, did, first_seen_at, score (0-3), and matchmaking/deposit hints when present.
attestationsarray<Attestation>
Per-type attestation records, each with metadata and proof reference. For
staking rows, metadata.last_synced_at (ISO 8601) is the last time KYA reconciled that allocation against AWP /v2; refresh cadence is bounded by KYA_AWP_STAKING_CACHE_TTL_SEC (default 300s).TRY IT · LIVE
curl "https://api.kya.link/v1/agents/0x8f2a4c1d9e7b3f5a6c8d2e1b9a4c7d5e3f1a2b8c/attestations"
SAMPLE RESPONSE
{
"subject": {
"address": "0x8f2a4c1d9e7b3f5a6c8d2e1b9a4c7d5e3f1a2b8c",
"chain_id": 8453,
"did": "did:pkh:eip155:8453:0x8f2a4c1d9e7b3f5a6c8d2e1b9a4c7d5e3f1a2b8c",
"first_seen_at": "2026-03-14T10:22:11Z",
"agent_status": "awaiting_match",
"target_worknet_id": "845300000001",
"deposit_address": "0x9ab4c1d9e7b3f5a6c8d2e1b9a4c7d5e3f1a19f0",
"recipient_set_at": "2026-04-23T08:12:09.000Z",
"score": 3
},
"attestations": [
{
"id": "att_01hz...",
"type": "twitter_claim",
"status": "active",
"metadata": {
"twitter_handle": "alice_web3",
"tweet_id": "1765432198765432101"
}
},
{
"id": "att_02hz...",
"type": "staking",
"status": "active",
"metadata": {
"allocator_address": "0x0000d6bb...00aa",
"worknet_id": "42",
"allocated_amount": "50000000000000000000000",
"last_synced_at": "2026-04-23T10:30:00.000Z"
}
},
{
"id": "att_03hz...",
"type": "kyc",
"status": "active",
"metadata": {
"owner_address": "0xaaaa...",
"provider": "didit"
}
}
],
"total": 3
}