cpu_accept_cell_offer
Sell one Cell you own by accepting one exact NFT marketplace offer. Pass the offer's orderHash (and tokenId for trait/collection offers); the sale is executed and verified in one call.
Instructions
Sell ONE Cell you own by accepting ONE exact offer on the NFT marketplace, in a single call. This is the land market — Cells traded as NFTs for a configured currency — and it is entirely separate from cpu_create_lot, which sells RESOURCES for $CPU inside the game. YOU PICK THE OFFER AND THE CELL. Read cpu_get_my_offers_received first and pass that offer's exact orderHash. An offer for one exact Cell already names the Cell; a trait or collection offer bids for a SET of Cells, so you must also pass the tokenId you are willing to sell — the call fails before sending anything when a criteria offer is not given one. If the pinned offer has been filled, cancelled, expired, or cannot be fulfilled as it stands, the call fails with staleOffer or unfulfillable and sells NOTHING — it never substitutes a different offer or a different Cell for you. The call performs the whole action itself: it prepares the acceptance, checks that the prepared work is still that exact offer and that exact Cell of yours, sends any collection approval the wallet still owes and waits for its receipt, then sends the one fulfilment transaction. There is nothing to confirm afterwards. Success is proven, not assumed: the receipt must carry the protocol's own fulfilment event for that exact order, the transaction must have been sent by your wallet, and the Cell must no longer be owned by you. A trait or collection offer may stay ACTIVE afterwards — it can still buy other Cells — and that is not a failure and never a second sale of the same Cell. Retrying is safe for your Cells: once ownership has moved, a repeat refuses before sending anything, and a repeat of a transaction already broadcast re-checks that transaction instead of selling again. At worst a retry spends gas on a transaction the protocol rejects. The result reports status (completed, or already_completed when the sale proved to be done already), the orderHash accepted, the Cell sold, the buyer, the offer amount and currency before the marketplace's mandatory fee split, and every transaction hash in txHashes in the order it was broadcast.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tokenId | No | The one Cell of yours to sell, as a decimal token id with no leading zeroes (e.g. "0" or "1234", never "01234"). REQUIRED for a trait or collection offer, because such an offer names a set of Cells and never picks one for you. For an item offer you may omit it (or pass null) and the Cell the offer bids for is used; if you do pass it, it must be that same Cell. | |
| orderHash | Yes | The exact 32-byte 0x-prefixed `orderHash` of the offer you decided to accept, copied from `cpu_get_my_offers_received` or `cpu_get_cell_market`. This tool accepts that offer or nothing: it never falls back to a higher, newer or otherwise different offer. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buyer | Yes | ||
| offer | Yes | ||
| stage | Yes | ||
| amount | Yes | ||
| status | Yes | ||
| wallet | Yes | ||
| tokenId | Yes | ||
| currency | Yes | ||
| txHashes | Yes | ||
| eventType | Yes | ||
| orderHash | Yes | ||
| approvalTxHashes | Yes | ||
| fulfilmentTxHash | Yes |