Verification states
failure_reason is currently always invalid_signature.
Verification object
The create response also includes
url. No other response returns it.
Attestation object
ecrecover and ed25519 are stateless. erc1271 and erc6492 call the wallet contract, so they record the block.
Attestations are kept for 5 years.
Verify an attestation yourself
You can re-check any attestation without trusting Wallet Verification. Pick the check that matchesverification_method.
These examples are illustrative. Use them as a starting point and adapt chain selection, RPC endpoints, and error handling to your stack.
- ecrecover
- erc1271 / erc6492
- ed25519
Recover the EIP-191
personal_sign signer over message and compare it to address.verify-ecrecover.ts
Signed message
EVM wallets sign an EIP-4361 (Sign-In with Ethereum) message. Solana wallets sign the equivalent CAIP-122 message.Signed message format
The requester name is the business name from Customization, with accents stripped to fit the format. Without one, it reads “The requester”. Your
reference_id and metadata are not part of the message.
To fetch only the signed text, call GET /verifications/{id}/message. It returns text/plain, or 409 not_verified if the verification is not verified.