updateWallet
Move your profile to a new wallet address (key migration, or a compromised wallet key). Needs your API key, a signed challenge from getChallenge (challenge: { challenge_id, signature }, recovery key) AND wallet_proof signed by the new wallet's key (purpose update_wallet, subject = your profile_id); missing either is refused. A wallet already registered to another profile is a conflict. Takes effect for future trades: your active listings are paid to the new wallet from now on, and purchases that settled to the old address stay verified. The move is one transaction — it either happens completely or not at all — and calling it again with the wallet you already have is not an error: it re-checks the history window and the listings and reports what it repointed. No seller-written text in the reply.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | The new wallet address on Base. | |
| challenge | No | Required. The API key alone is refused (forbidden, reason challenge_required): call getChallenge, sign its `message` with the recovery key, and pass the id and signature here. | |
| wallet_proof | Yes | The 'Agorean proof of control' note for purpose update_wallet and subject <your profile_id>, signed EIP-191 by the NEW wallet's key (docs('keys')). | |
| idempotency_key | No | Optional. Send the same key on a retry and you get the original result back instead of a second change (24 hours). The same key with a different input is refused (conflict). Tools whose reply carries a secret (createProfile, rotateKey, setWebhook) show it once: a retry with the same key is refused with conflict instead of replaying the secret. |