Skip to content

Safety and errors

Handle changed state, approvals, expiry, slippage, and transaction errors.

Contract integrations should assume that prices, owners, approvals, pause state, and listings can change between page render and transaction execution.

Transaction checklist

  1. Confirm chain ID 4663.
  2. Load active contract addresses from configuration.
  3. Validate every user-entered address with checksum parsing.
  4. Read the current contract state immediately before the write.
  5. Show value, price, minimum output, fees, and target contract.
  6. Wait for a successful receipt.
  7. Keep the transaction hash while waiting for indexing.

Launchpad failures

ErrorMeaningResponse
DeployDisabledNew launches are pausedDisable submission and retry after configuration changes
InsufficientInitialBuyETH is below initialBuyAmount()Refresh the minimum and ask for a new amount
InvalidFeeRecipientFee recipient is the zero addressRequire a checksummed nonzero wallet
Slippage exceededSell output fell below minEthOutRefresh the quote and let the user choose a new tolerance
ERC-20 allowance failureRouter cannot transfer the sell amountCheck allowance and complete approval first

Marketplace failures

ErrorMeaningResponse
MarketplaceNotApprovedToken approval does not point to the marketplaceRead getApproved and request token-specific approval
NotTokenOwnerConnected seller does not own the NFTRefresh ownerOf and disable seller controls
ListingAlreadyExistsA record already exists for the tokenRead it, then update, cancel, or invalidate as appropriate
ListingExpiredThe expiry has passedInvalidate the listing or choose another item
ListingStaleOwnership or approval changedRefresh owner and approval, then invalidate stale state
IncorrectPaymentSent ETH differs from the current priceRe-read the listing and ask for price review
BuyerIsSellerSeller wallet attempted its own purchaseConnect a different buyer wallet
EmptyProceedsCaller has no pending balanceHide withdrawal until pendingProceeds is positive

User rejection and replacement

A wallet rejection is a normal outcome. Restore the form without reporting a contract failure. If the wallet replaces or reprices a pending transaction, track the final hash returned by the provider and inspect its receipt.

Approval safety

Approve only the required spender. Token sales can approve the exact ERC-20 amount. NFT listings use approve(marketplace, tokenId), which limits authority to one item and clears on transfer.

Reporting a problem

Record the chain ID, connected account, transaction hash, target contract, expected action, and visible error. Never include a seed phrase, private key, or raw wallet backup in a support message.