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.
When integrating with OpenSea's Seaport protocol, what is the primary purpose of the 'conduit' contract?