Skip to main content
The DAA web SDK handles the client-side Strong Customer Authentication (SCA) ceremony for Digital Asset Accounts. Your backend creates a frame token through the Circle API; the SDK uses that token to render the WebAuthn passkey prompt in a Circle-hosted iframe and return the signed result. For a step-by-step integration guide, see How-to: Implement Strong Customer Authentication.

Install

createScaClient

Creates an SCA client bound to the given environment.

Parameters

Returns

An ScaClient instance with enroll and approve methods.

sca.enroll

Runs the passkey enrollment ceremony. Call this once per end user per device, using the frame token from POST /v1/accounts/passkeys/registrations.

Parameters

Returns

attestationResponse: a structured object representing the signed WebAuthn attestation. Pass it to your backend and forward it to POST /v1/accounts/passkeys unchanged.
Do not re-serialize attestationResponse before forwarding it to your backend. Re-serialization alters the binary encoding and causes a verification error.

sca.approve

Runs the operation approval ceremony. Call this for every protected operation, using the frame token from POST /v1/accounts/passkeys/challenges.

Parameters

Returns

assertion: a string. Pass it to your backend and include it as the X-Sca-Assertion header on the protected API request.

Error handling

Both enroll and approve throw if the ceremony fails or the frame token is invalid. Wrap calls in try/catch and surface errors to the end user.
Common failure causes: