NFT Marketplace Integration 2 — Questions and Answers
Question 1: When integrating with OpenSea's Seaport protocol, what is the primary purpose of the 'conduit' contract?
- To approve and transfer tokens on behalf of users via a shared allowance (Correct answer)
- To store NFT metadata on-chain
- To calculate gas fees for listings
- To mint new NFT collections
Correct answer: To approve and transfer tokens on behalf of users via a shared allowance
The Seaport conduit acts as a shared transfer proxy, letting users set one approval that the marketplace uses to move their tokens during fulfillment.
Question 2: Which standard interface should a contract implement so marketplaces can correctly distribute creator royalties?
- ERC-2981 (Correct answer)
- ERC-20
- ERC-165 only
- ERC-1155 metadata URI
Correct answer: ERC-2981
ERC-2981 defines the royaltyInfo function that marketplaces query to determine the royalty recipient and amount.
Question 3: A developer lists an NFT for sale but the marketplace cannot transfer it on completion. What is the most likely cause?
- The marketplace operator was never granted approval via setApprovalForAll or approve (Correct answer)
- The NFT has no name
- The buyer used the wrong wallet color
- The token ID is even instead of odd
Correct answer: The marketplace operator was never granted approval via setApprovalForAll or approve
Without an approval granted to the marketplace contract, it lacks permission to transfer the token to the buyer.
Question 4: What does a 'lazy minting' integration allow a marketplace to do?
- Defer the on-chain mint until the first sale, with the buyer paying gas (Correct answer)
- Mint thousands of NFTs instantly for free
- Skip royalty payments entirely
- Bypass wallet signatures
Correct answer: Defer the on-chain mint until the first sale, with the buyer paying gas
Lazy minting stores a signed voucher off-chain and only executes the actual mint transaction when the item is purchased.
Question 5: When fetching a collection's listings via the OpenSea API, which value is essential to filter results to a specific blockchain?
- The chain identifier (e.g., ethereum, matic) (Correct answer)
- The user's email
- The browser user-agent
- The NFT's file size
Correct answer: The chain identifier (e.g., ethereum, matic)
OpenSea's API is multichain, so the chain parameter is required to scope listing queries to the correct network.
Question 6: In a marketplace order, what role does the 'salt' value typically play?
- It ensures order hash uniqueness to prevent collisions and replay of identical orders (Correct answer)
- It sets the sale price
- It encrypts the NFT image
- It identifies the buyer's country
Correct answer: It ensures order hash uniqueness to prevent collisions and replay of identical orders
A random salt makes otherwise-identical orders produce distinct hashes, preventing accidental collisions and signature reuse.
Question 7: Why might a marketplace integration prefer EIP-712 typed-data signatures over raw message signing for listings?
- It presents human-readable structured data in the wallet, improving security and UX (Correct answer)
- It makes transactions free
- It removes the need for a private key
- It compresses the NFT metadata
Correct answer: It presents human-readable structured data in the wallet, improving security and UX
EIP-712 lets wallets display the order's structured fields, so users see exactly what they are signing instead of an opaque hash.