register_bridge_wallet
Submit the EVM address, verbatim challenge message, and EIP-191 signature to finalize withdrawal wallet registration. Pass confirm: true because the account's single withdrawal wallet cannot be replaced later.
Instructions
Step 2 of registering a withdrawal wallet: submit the address, the message returned by create_bridge_wallet_challenge echoed back VERBATIM, and the EIP-191 signature over it. The address recovered from the signature must equal address, and the challenge must name the authenticated account. The registered wallet is where withdrawals are paid, so getting it wrong matters: an account holds ONE wallet in this cut and replacement is not supported — registering a different address afterwards is refused with 409 wallet_already_registered rather than updating the record. Because of that you must pass confirm: true. Re-registering the SAME address is idempotent and returns the existing record. Errors: invalid_address, invalid_challenge, challenge_expired, signature_mismatch, account_mismatch on 400; wallet_registration_unavailable on 503 when the deployment has no challenge key (not transient — do not retry). Requires API credentials.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM address being registered (0x-prefixed, 20 bytes). Must match the address recovered from `signature`. | |
| confirm | No | Must be true to actually register. Guards a permanent choice: the account gets one withdrawal wallet and cannot swap it later. | |
| message | Yes | The `message` from `create_bridge_wallet_challenge`, echoed back byte-for-byte. Do not reformat, re-encode or trim it — the server re-derives the signed bytes and the integrity tag from this exact string. | |
| signature | Yes | 0x-prefixed 65-byte EIP-191 `personal_sign` signature over `message`, produced by the key for `address`. |