Set pool wallet

PUT /api/v1/mystery/pool-wallet pool:manage

Sets / replaces the address bought-back NFTs are forwarded to. The address is checksum-validated; setting a new wallet deactivates the previous active one in the same transaction (history kept as an audit trail). Held transfers (buyback.transfer_held) retry every 15 minutes and complete once this is set.

Try it PUT /api/v1/mystery/pool-wallet write

These inputs are shared across all docs pages — an id entered here carries over.

request body
object · 1 keys
{
  "wallet_address": ""
}
response

Not run yet — press Run to make a live call against https://staging-service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).

curl (tracks the inputs above)
curl -X PUT 'https://staging-service.rip.fun/api/v1/mystery/pool-wallet' \
  -H 'X-API-Key: rip_v1_…' \
  -H 'Content-Type: application/json' \
  -d '{"wallet_address":""}'

Request fields

FieldTypeRequiredDescription
wallet_addressstringyes0x-prefixed EVM address (`address` is accepted as an alias)
chainstringDefaults to "base"

Response fields (data)

FieldDescription
chain / address / is_active / created_atThe new active pool wallet

Errors

StatusCodeWhen
400invalid_addressnot a valid 0x-prefixed EVM address
403Insufficient permissionskey lacks the pool:manage scope

See Errors for the response envelope and the full code list.

Flow

  1. End user accepts your buyback offer → the NFT lands in the rip.fun pool signer
  2. rip.fun worker (every ~60 s): ERC-721 safeTransferFrom to your active pool wallet → buyback.card_transferred webhook
  3. No pool wallet set → one-time buyback.transfer_held webhook; transfer retries every 15 min until PUT /pool-wallet
  4. Terminal failure after 10 attempts → buyback.transfer_failed; the fronted USDC is invoiced to you monthly either way