Start an ownership verification challenge
Changed onStart (or restart) ownership verification for a FIRST_PARTY self-custody crypto wallet external account in PENDING_OWNERSHIP_VERIFICATION or UNVERIFIED status. The response carries the method-specific challenge material:
- WALLET_SIGNATURE — a messageToSign; have the wallet sign it exactly and submit the result to the verify endpoint to complete verification synchronously.
- LIVENESS — a hosted verificationLink (and possibly an embed token); the user completes a biometric flow and verification completes asynchronously. The outcome is delivered via EXTERNAL_ACCOUNT.STATUS_UPDATED webhooks or by polling the account.
Calling this endpoint again abandons any in-flight challenge and issues a new one with the requested method — use it to retry after a failed attempt, to replace an expired challenge, or to switch methods. An UNVERIFIED account returns to PENDING_OWNERSHIP_VERIFICATION when a new challenge is issued.
Completing ownership verification moves the account to ACTIVE.
Request
- Base URLhttps://api.lightspark.com/grid/2025-10-13
- URLhttps://api.lightspark.com/grid/2025-10-13/platform/external-accounts/{externalAccountId}/challenge
- AuthHTTP basic
Path parameters
External account ID
Request body
Example request
{
"method": "WALLET_SIGNATURE"
}Response
Challenge created; the method-specific material is returned.
Example response
{
"method": "WALLET_SIGNATURE",
"messageToSign": "I verify that I control this wallet. Nonce: 019542f5-b3e7-1d02",
"expiresAt": "2025-08-15T15:32:00Z"
}Changes
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info
- warning
added the new
PURCHASE_CARD_LIMIT_REACHEDenum value to theresponse property for the response status
- warning