KYA.

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}/attestations

List 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

address
string · 0x or did:pkh
REQUIRED
The agent's Ethereum address or did:pkh:eip155:8453:0x….
QUERY PARAMETERS

type
enum
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.
status
enum
One of pending, active, expired, revoked.
RESPONSE · 200 OK

subject
object
Identity header with address, chain_id, did, first_seen_at, score (0-3), and matchmaking/deposit hints when present.
attestations
array<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
}