Madhouse Wallet KYC

Verify your identity and receive an on-chain EAS attestation on Base.

Flow

  1. Your wallet signs a SIWX request (proves ownership, no payment)
  2. POST /api/public/kyc/start creates a Stripe verification session
  3. You complete Stripe Identity verification (photo ID + selfie)
  4. Stripe webhook fires → attestation payload built + hashed
  5. Your wallet signs the attestationHash
  6. POST /api/public/kyc/attest writes EAS attestation on Base
  7. GET /api/public/kyc/status returns { verified: true }

Local testing

Use the x402-client to call /start, then visit the returned kycUrl directly, or go to:

/verify/[sessionId]?secret=[clientSecret]
Discovery endpoints: