Partners

Sellback

Let the current prize holder accept a time-limited offer from your storefront.

Use the wallet session and the wallet API base URL ending in /api/v1/redeem. Your partner API key cannot authorize a holder's NFT transfer.

Show the offer

Call GET /buybacks. Match data.offers[].prize_id to the prize. Offer Sell back only when available is true and expires_at is in the future. Show amount_usd and the deadline before asking for confirmation. The server rechecks the offer when preparing it.

An offer may include operation_id and status: resume an existing awaiting_signature or processing operation instead of starting another. A loading error must not be presented as an expired offer.

Prepare, sign, submit

  1. Call POST /prizes/{prizeId}/sellback/prepare and save the returned data.id before opening the wallet.
  2. If status is awaiting_signature, decode the base64 transaction and ask the holder to sign only. Verify the wallet did not change the transaction message.
  3. Save the signed bytes against this operation. Submit their base64 value as signedTransaction to POST /sellbacks/{id}/submit.
  4. Poll GET /sellbacks/{id} with backoff. Only completed confirms the NFT return and payout. Then refresh the collection, offers and balances.

Do not broadcast the prepared transaction from your app. Verity submits it after receiving the holder's signature. The NFT return and USDC payout happen in one transaction; Verity pays the network fee.

Handle interruptions

SituationAction
Buyer rejects wallet approvalKeep the operation available to resume or cancel
Submit times outQuery the same operation; keep saved signed bytes for retrying the same submit
processingShow progress and keep polling; do not prepare a replacement
Unsigned approval expiresRead the operation again; prepare anew only after failed and while the offer is still available
Buyer changes their mind before signingCancel with POST /sellbacks/{id}/cancel
Already submittedTrack the existing operation; cancellation is unavailable

Disable shipping for this item while sellback approval or confirmation is pending. Never interpret a timeout as a failed transfer. Reauthenticate an expired wallet session and resume the same operation ID.

The older partner API-key buyback endpoint and its availability fields do not implement this owner-signed flow. Use wallet offers for new integrations.

Next: Launch checks for sellback.

On this page