Looks rare

Looks rare Trade Records and Outcome Verification

- last updated

To verify a Looks rare trade, require the wallet request, transaction receipt and resulting NFT state to agree on the settlement. Record the collection contract, token ID, quantity, payment asset, recipient and relevant wallet state before acting. After confirmation, compare those fields again. A marketplace notification alone can’t establish that the intended ownership change occurred.

This process separates displayed order terms from the evidence produced by a signature, approval, settlement or cancellation. It also limits recovery to the smallest step that the mismatch actually requires.

Key takeaway: A trade is complete only when the successful receipt and resulting NFT ownership agree with the recorded wallet request.

Capture the starting state before the wallet request

A starting-state record identifies the exact NFT and the order that may act on it. Save the collection contract, token ID, token standard, quantity, signer or seller, intended recipient, payment asset, order price, validity window and displayed total. For the wallet, note the token’s current owner or quantity and the payment balance that matters to the action. If an approval is required, record its existing scope instead of assuming the next prompt creates the first authorization.

Completion should be defined at the same time: a successful receipt for any on-chain action and the expected owner, balance, approval or nonce state afterward. The baseline is usable when each field has one unambiguous value. A cropped name, shortened address or unlabeled quantity leaves the comparison open to the wrong asset or account.


Match the wallet request to the intended action

The wallet prompt determines what can change next. A typed-data signature can authorize a maker order without transferring an NFT. An approval transaction changes permission, while a settlement transaction attempts the trade itself. Before confirming, match the network, requesting contract and action type to the starting record. Compare the asset, recipient and maximum debit where the request defines them. A familiar collection image or marketplace message can’t replace those fields.

Accept this stage only when the prompt describes the action that the page led you to expect. Reject a signature when a transfer was expected, or a transaction when only an order signature was intended. Closing the prompt is the smallest reversible response to an unexplained difference because it leaves the proposed state change unsubmitted.

Evidence produced by three wallet actions

Three common wallet actions leave different evidence, so a single success label can’t validate all of them. The comparison below keeps intent, authorization and settlement separate.

Wallet action Immediate effect Evidence that closes the check
Maker order signature Records off-chain trade intent; it doesn’t transfer ownership or payment by itself. Saved typed order and signature, with no transaction receipt expected at this point.
Approval transaction Changes token or operator authority if the transaction succeeds; it doesn’t fulfill the trade by itself. Successful receipt and matching on-chain approval state.
Settlement transaction Executes against a valid order and can transfer the NFT and payment. Successful receipt plus the expected owner or token balance at the recipient.
All request types Identify the action before reading its outcome. Use evidence produced by that action, not a generic interface message.

The table also prevents a common category error: treating a confirmed approval as proof of purchase. Both can have successful receipts, yet only settlement should produce the recorded ownership change.

Follow the submitted transaction to its receipt

A transaction hash identifies a submitted on-chain action, not a completed one. Preserve the hash immediately and use it to distinguish pending, successful and reverted states. While it remains pending, the pre-trade record is still the comparison point because the final state isn’t established. Reopening the same action can create a second wallet request without resolving the first.

This stage passes when the hash resolves to a receipt on the intended network and the receipt reports success. A missing hash means there is no submitted transaction to trace, although an off-chain signature may still exist. A reverted receipt proves that the attempted call finished without committing the call’s contract state changes; it doesn’t prove that the order terms were wrong.

Reconcile receipt success with final ownership

A successful receipt confirms that the transaction executed, but its purpose still has to match the intended action. Confirm the sender, recipient or contract, transaction call and asset references before interpreting success. An approval, cancellation and settlement can each succeed while producing very different states. The expected trade passes this check only when the receipt belongs to the settlement that was actually requested.

Ownership supplies the second half of the evidence. Compare the recorded token ID and recipient with the post-transaction owner or balance. On the selling side, confirm that the recorded owner or quantity changed as expected. Agreement across the receipt and token state is stronger than either a wallet notification or a refreshed marketplace card, which may be delayed or refer to a different action.

Read ERC-721 ownership and ERC-1155 quantities correctly

Token standard determines which state answers the ownership question. ERC-721 records one owner for a token ID, while ERC-1155 records a quantity for each account and token ID. For ERC-721, compare the recorded token ID with its current owner. For ERC-1155, compare the same account and token ID before and after settlement, then verify that the quantity moved by the expected amount.

Metadata doesn’t close this check. An image, name or description can load correctly even when the queried ownership is wrong, and metadata may live outside the token contract. Conversely, a delayed image doesn’t negate a matching owner or balance record. The pass condition concerns the contract address, token ID, recipient and quantity where the standard uses one.


Treat signed orders as intent before settlement

A LooksRare V2 maker-order signature records executable intent rather than settlement. The signed data can include the quote type, signer, collection, currency, price, validity window, token identifiers or selection rule and nonce values. Saving those fields makes later checks possible. The signature itself supplies no transaction hash because matching occurs later through an on-chain taker transaction.

Order validity can change after signing. Expiry, cancellation, a nonce change, lost ownership, insufficient payment balance or missing approval can stop execution. A signed order shows that the signer authorized those terms. It doesn’t show that the order remains executable. A later fill needs its own successful receipt and ownership comparison, while an unfilled order remains separate from any marketplace display saying it is active.


Review approvals that remain after settlement

An NFT approval deserves a separate post-trade check because settlement doesn’t erase every form of authority. An ERC-721 token-specific approval is cleared when that token transfers, but an operator approval covers a broader relationship and can persist. ERC-1155 operator approval is also separate from a particular balance movement. Read the approved operator and scope rather than inferring them from the completed sale.

Revocation is another on-chain action, with its own transaction hash and receipt. If authority should be removed, first identify whether the recorded permission is token-specific or operator-wide. The check passes only after the revocation receipt succeeds and the current approval state reflects the change. That action may also affect open orders that relied on the permission, so it shouldn’t be mistaken for routine settlement cleanup.

Contain a mismatch before repeating the action

A mismatch calls for containment before another signature or transaction. Keep the baseline and locate the earliest point where expected state diverged from observed state. That point defines the smallest useful recovery step and avoids changing unrelated balances, approvals or nonces while the evidence is unclear.

Contain a mismatch before repeating the action: If the receipt reverted, stop at that receipt.; Re-read the current order, ownership, balance, expiry and approval state before constructing another request.

Open full-size image

If no transaction hash exists, return to the wallet request record. Determine whether the action was rejected, never submitted or only signed off-chain.

If the receipt reverted, stop at that receipt. Re-read the current order, ownership, balance, expiry and approval state before constructing another request.

If the receipt succeeded but ownership didn’t match, verify the transaction’s recipient, contract and action type. A successful approval or cancellation can explain the receipt without explaining an NFT transfer. When the intended recipient is wrong or the asset state differs, preserve the evidence and don’t layer a second trade over the unresolved first one.

Match cancellation scope to the order record

A LooksRare V2 order cancellation should be matched to the signed order’s signer and nonce scope. The protocol uses nonce state to prevent canceled or filled maker orders from executing. Because more than one order can share a nonce scope, an on-chain cancellation may invalidate a group rather than one visible card. Record the cancellation hash and compare the affected nonce with the original order before treating the order as canceled.

Expiry is different from cancellation. Passing the end time makes an order ineligible for execution under its terms, but it doesn’t create a cancellation receipt or remove a separate operator approval. The cancellation check passes when the on-chain nonce state makes the intended order unexecutable. A disappearing listing alone is weaker evidence because display state can change without the corresponding nonce update.

Continue only from a reconciled state

A reconciled state has no unexplained gap between the recorded request and the observed outcome. For a signature, the saved typed order is the evidence and no transfer should be inferred. For approval or cancellation, a successful receipt must match the intended authority or nonce change. For settlement, the receipt and final token state must agree on the asset and recipient.

Continue only after those conditions line up. If one field remains uncertain, keep the existing records and resolve that field rather than generating another state change. This boundary protects the next action from being based on a stale listing, the wrong wallet or an unfinished transaction. For an ERC-1155 transfer, the closing figure is the recipient’s quantity for the recorded token ID.

Practical questions about Looks rare

Can a screenshot serve as the only pre-trade record?

A screenshot shouldn’t serve as the only pre-trade record. It may crop the collection contract, token ID, recipient or validity window, and it freezes an interface view rather than proving on-chain state. Keep the order or transaction identifiers in a form that can be compared character for character. If the image and underlying values disagree, the addresses, identifiers and chain records decide the check.

When should a replacement transaction be checked as a new action?

A replacement transaction needs its own check as soon as it uses a different transaction hash. The replacement uses the same account nonce but may change the network fee or call data, so the original hash no longer identifies the mined action. Compare the confirmed replacement’s recipient, contract call and resulting state with the original baseline before continuing.

Does a reverted transaction still consume network gas?

A reverted Ethereum transaction can still consume network gas. Validators processed the call even though its state changes were rolled back, so the receipt can show failure while the wallet balance reflects the fee. Treat that as a failed marketplace action with a real transaction cost, then inspect the current order, ownership and approval state before trying again.

What evidence should be matched after an aggregated batch purchase?

An aggregated batch purchase should be checked asset by asset. An aggregator can execute multiple orders in one transaction and may allow some requested orders to succeed when others fail, so record each collection contract, token ID, quantity and recipient. After confirmation, compare the successful receipt with every resulting ERC-721 owner or ERC-1155 balance. One correct transfer doesn’t prove that every requested item settled.

Is the block number useful when wallet balances disagree?

The block number is useful when wallet balances disagree. Together with the transaction hash, it anchors the point when an on-chain action was confirmed. Compare the receipt and token state at that confirmation point, then identify any later transaction that explains the difference. A current balance alone may combine several actions that occurred after the marketplace transaction.

Can the connected wallet differ from the final NFT recipient?

The connected wallet can differ from the final NFT recipient when a settlement supports a separate recipient address. Record both addresses before submission. After confirmation, check ownership or quantity at the specified recipient, not only the connected account. If the wallet request or transaction details don’t contain the expected recipient, a successful receipt alone doesn’t prove delivery to that address.