๐ Live DemoLive on Celo
Interactive KYC Flow
Walk through the full verification flow, from agent API request to on-chain attestation.
๐ค Agent Address
0x3fA8B653F9abf91428800C8bB0AB9d8fE8c7A8c3
๐ค User Address
0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf
1
Credential Check2
x402 Payment3
ID Verify4
Attestation๐
Check Existing Credential
Agent first checks if this wallet already has a valid credential. If it does, the EAS attestation is returned for free.
GET /api/check/:address โ Free, no auth
http
GET https://knowyourhuman.xyz/api/check/0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf
// Response โ no credential found:
{
"address": "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf",
"hasCredential": false,
"message": "No active credential. Use POST /api/verification to verify."
}
// If a credential existed, it would return:
{
"address": "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf",
"hasCredential": true,
"attestation": {
"uid": "0xb9c4f2a7...",
"level": "standard",
"issuedAt": "2026-03-21T14:00:00Z",
"expiresAt": "2026-06-19T14:00:00Z",
"validDays": 90
}
// Free. No payment needed. Any agent can read this.
}This check is always free.
Any agent, any dApp, any protocol can read an existing credential at no cost. The human only needs to verify once. After that, their credential is a public good on Celo.
No credential found for this wallet. Agent proceeds to request a new verification.
POST /api/verification โ New verification request
http
POST https://knowyourhuman.xyz/api/verification
Content-Type: application/json
Authorization: Bearer <agent_api_key>
{
"userAddress": "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf",
"agentAddress": "0x3fA8B653F9abf91428800C8bB0AB9d8fE8c7A8c3",
"level": "standard",
"webhookUrl": "https://my-agent.xyz/kyc-callback"
}Step 1 of 40/4 complete
