KYC API

Create verification sessions, read the resulting attestation status, and receive provider callbacks.

Start a session

POST/kyc/startAPI key

Creates a KYC session for a wallet and returns a hosted verification URL.

Request body

FieldTypeDescription
userPubkeystringInvestor's Solana wallet (base58).
schemaIdstringSchema to verify, e.g. kyc_individual_v1.
bash
curl -X POST https://passify.biz/api/v1/kyc/start \
  -H "Authorization: Bearer passify_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "userPubkey": "7xKXtg2...", "schemaId": "kyc_individual_v1" }'
200 OK
{ "session_id": "sess_9x2k", "session_url": "https://verify.blockpass.org/..." }

Get status

GET/kyc/status/{pubkey}API key

Returns the current attestation status for a wallet.

bash
curl https://passify.biz/api/v1/kyc/status/7xKXtg2... \
  -H "Authorization: Bearer passify_live_xxx"
200 OK
{
  "status": "verified",
  "attestation_id": "att_5m8n",
  "schema": "kyc_individual_v1",
  "expires_at": "2026-12-15T00:00:00Z",
  "onchain_tx": "3kLm...xyz"
}

status is one of pending, verified, rejected, or expired.

Provider webhook

POST/kyc/webhookHMAC signature

Called by the KYC provider when a verification completes. Passify validates the HMAC signature before processing — an unsigned or mismatched payload is rejected and never acted upon.

Last updated