Summary
The existing SEP-12 customer information endpoint processes KYC verification synchronously. As we integrate with more advanced third-party identity providers (e.g., SumSub, Onfido), synchronous processing is no longer viable. ID verification can take several minutes, and holding the HTTP connection open leads to timeouts and poor UX.
We must pivot to an asynchronous webhook architecture. The initial PUT request should return a 202 Accepted status with a pending state. A new dedicated webhook endpoint must be exposed to receive callbacks from the ID provider. This endpoint requires rigorous HMAC signature validation to prevent spoofed approval payloads from malicious actors.
Acceptance Criteria
Tech Stack
TypeScript (Node.js 24), Express, Crypto (Node native). Strict security audit required.
Summary
The existing SEP-12 customer information endpoint processes KYC verification synchronously. As we integrate with more advanced third-party identity providers (e.g., SumSub, Onfido), synchronous processing is no longer viable. ID verification can take several minutes, and holding the HTTP connection open leads to timeouts and poor UX.
We must pivot to an asynchronous webhook architecture. The initial PUT request should return a 202 Accepted status with a pending state. A new dedicated webhook endpoint must be exposed to receive callbacks from the ID provider. This endpoint requires rigorous HMAC signature validation to prevent spoofed approval payloads from malicious actors.
Acceptance Criteria
/api/v1/kyc/webhookcallback endpoint.Tech Stack
TypeScript (Node.js 24), Express, Crypto (Node native). Strict security audit required.