Verify ownership with a wallet signature
Changed onComplete a WALLET_SIGNATURE challenge by submitting the signature the wallet produced for the challenge's messageToSign. The message must be signed exactly as returned, and the signature must be submitted before the challenge's expiresAt — after expiry, start a new challenge.
On success the account moves to ACTIVE; on an invalid signature it moves to UNVERIFIED (start a new challenge to retry). LIVENESS challenges complete asynchronously and never use this endpoint — their outcome is delivered via EXTERNAL_ACCOUNT.STATUS_UPDATED webhooks or by polling the account.
Request
- Base URL: https://api.lightspark.com/grid/2025-10-13
- URL: https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}/verify
- Auth: HTTP basic
Path parameters
External account ID
Request body
Example request
{
"signature": "0x52d75f01c9e7b8b2ce2fbcbd21bfeeee7bcd1a2f01ce6b8ad9a67a45e83a8f5d1c"
}Response
Signature valid; the updated external account is returned with status: ACTIVE.
Example response
{
"id": "ExternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
"customerId": "Customer:da459a29-1fb7-41ce-a4cb-eb3a3c9fd7a7",
"platformAccountId": "acc_123456789",
"ownershipType": "FIRST_PARTY",
"currency": "USD",
"beneficiaryVerifiedData": {
"fullName": "John Doe"
},
"accountInfo": {
"accountType": "AED_ACCOUNT",
"iban": "AE070331234567890123456",
"swiftCode": "EBILAEAD"
}
}Changes
- warning
added the new
ACH_SAME_DAYenum value to the/////////response property for the response status
- warning
- warning
removed the optional property
///////////from the response with the status - info
added the optional property
////////to the response with the status
- warning