Skip to main content
POST
Submit a signed buyback and poll its requestId
  1. Sign. Have the seller sign BuybackUserAuthorization for settlement IDs from the same pack. Submit the same body and builder key used by Settle a buyback. An ID from another pack can return HTTP 404 with EOA_PURCHASE_REJECTED.
  2. Track. Save requestId from HTTP 202. Check buyback status about once per second until COMPLETED or FAILED. Each submission creates a separate request.
  3. Handle a failure. A failed request carries the same error code as a direct settlement. For OP_WALLET_BUSY, retry with the same signature. For other failures, refresh the offers and request a new signature.

Request

Builder key and wallet signature

Response

HTTP 202 returns status: "PENDING", error: null and a new requestId. Use Get buyback status for settlement failures.

Error codes

Match the HTTP status and response text to a row below. For guidance on codes shared across endpoints, see Error meanings and recovery.

Authorizations

x-builder-api-key
string
header
required

Your approved builder API key. Keep it on your backend. Gacha and marketplace writes also require wallet action signatures. Redeem also needs a wallet access token, a Bearer token the API issues after the wallet signs a sign-in message.

Body

application/json
buyerWalletAddress
string
required
cardPackId
string<uuid>
required
buybackAuth
object
required
userSignature
string
required

Response

Each accepted submission creates a new request. Poll GET /v2/gacha/buyback/status with its requestId for the outcome.

requestId
string<uuid>
required
status
enum<string>
required
Available options:
PENDING
buyerWalletAddress
string
required

20-byte, 0x-prefixed wallet or contract address. Use lowercase or a valid checksum.

cardPackId
string<uuid>
required
settlementIds
string[]
required

32 bytes encoded as 0x followed by 64 hexadecimal digits.

txHash
null
required
totalAmountInUsdt
null
required
itemCount
null
required
error
null
required