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: