Base URL: https://auth.corepass.net
Authenticationβ
| Surface | How to authenticate |
|---|
| OAuth 2.0 / OIDC endpoints | Standard OAuth 2.0. The token endpoint takes HTTP Basic client_id:secret (or PKCE only, for public clients). /userinfo takes Authorization: Bearer <access_token>. |
| KYC and KYB endpoints | Authorization: <YOUR_API_KEY>: the raw API key from the dashboard, without a Bearer prefix. Server-to-server only. |
OAuth 2.0 / OpenID Connectβ
| Method | Path | Description |
|---|
GET | /.well-known/openid-configuration | OIDC discovery document. |
GET | /.well-known/jwks.json | Keys for verifying login tokens. |
GET | /oauth2/auth | Authorization endpoint. Serves the CorePass QR login page. Add scope business for business login. |
POST | /oauth2/token | Exchange an authorization code or refresh token for tokens. |
GET | /userinfo | Claims of the authenticated user. |
Details: Login (OAuth 2.0 / OIDC).
Responses are wrapped in { "data": β¦, "message": "β¦", "success": true }. Errors are { "success": false, "error": { "code": β¦, "message": "β¦" } }.
Webhooks: KYC webhooks Β· Fields: KYC fields Β· Statuses: KYC status values
Errors use { "success": false, "error": { "code": β¦, "reason": "β¦", "message": "β¦" } }. See KYB error codes.
Webhook endpoint (kyb:read)β
| Method | Path | Description |
|---|
PUT | /api/v1/kyb/webhook-endpoint | Register or replace your endpoint. Returns the secret once. |
GET | /api/v1/kyb/webhook-endpoint | Read the registered endpoint. |
POST | /api/v1/kyb/webhook-endpoint/rotate-secret | Rotate the secret. The old one stays valid for 24 hours. |
POST | /api/v1/kyb/webhook-endpoint/reactivate | Lift a quarantine. The queued backlog is then delivered. |
Lookups (kyb:read)β
Data requests (kyb:data-request, plus kyb:pii for person-level fields)β
| Method | Path | Description |
|---|
POST | /api/v1/kyb/data-requests | Create by wallet address. |
POST | /api/v1/kyb/data-requests/offers | Create a QR-code offer. Idempotency-Key required. |
GET | /api/v1/kyb/data-requests/offers/{offerId} | Poll an offer. |
POST | /api/v1/kyb/data-requests/offers/{offerId}/cancel | Cancel an open offer. |
POST | /api/v1/kyb/data-requests/quote | Price quote. |
GET | /api/v1/kyb/data-requests | List and filter by status, limit. |
GET | /api/v1/kyb/data-requests/{requestId} | Current state. |
POST | /api/v1/kyb/data-requests/{requestId}/cancel | Cancel while pending_approval. |
GET | /api/v1/kyb/data-requests/{requestId}/deliveries | Webhook delivery attempts. |
GET | /api/v1/kyb/data-requests/{requestId}/events?after_seq= | Event stream. |
POST | /api/v1/kyb/data-requests/{requestId}/redeliver | Send webhook events again. |
GET | /api/v1/kyb/data-requests/{requestId}/release | Pull the signed attestation. |
Signature requests (kyb:signature)β
| Method | Path | Description |
|---|
POST | /api/v1/kyb/signature-requests | Create by wallet address. Idempotency-Key required. |
POST | /api/v1/kyb/signature-requests/offers | Create a QR-code offer. Idempotency-Key required. |
GET | /api/v1/kyb/signature-requests/offers/{offerId} | Poll an offer. |
POST | /api/v1/kyb/signature-requests/offers/{offerId}/cancel | Cancel an open offer. |
GET | /api/v1/kyb/signature-requests | List signature requests. |
GET | /api/v1/kyb/signature-requests/{requestId} | Current state. |
POST | /api/v1/kyb/signature-requests/{requestId}/cancel | Cancel while pending_approval. |
GET | /api/v1/kyb/signature-requests/{requestId}/deliveries | Webhook delivery attempts. |
GET | /api/v1/kyb/signature-requests/{requestId}/events | Event stream. |
GET | /api/v1/kyb/signature-requests/{requestId}/signature | Read the EIP-1271 signature. |
KYB signing keysβ
| Method | Path | Description |
|---|
GET | /.well-known/kyb-jwks.json | Keys for verifying KYB attestations. They are separate from the login JWKS. Besides keys, the document also carries the required issuer and typ. |
Conventionsβ
- Timestamps are Unix time in seconds.
- CoreIDs / wallet addresses are sent without a
0x prefix, e.g. ab72a31cβ¦. Login tokens carry them as coreid:<address> in sub.
- Idempotency. KYB creates accept an
Idempotency-Key header. It is required for offers and signature requests and recommended elsewhere. A replay returns the original object (200 instead of 201).
- Webhook responses. Answer any
2xx to acknowledge a KYC or KYB webhook.