Skip to main content
OpenSea’s decentralized NFT marketplace protocol, with order types including English and Dutch auctions, collection offers, and trait-based offers.

What it offers

  • fulfillBasicOrder: Fulfill a basic NFT buy/sell order
  • cancel: Cancel pending orders

Notes

  • Same address on all 6 chains
  • Zone-based access control for order restrictions
  • Conduits are approved transfer proxies - conduitKey=bytes32(0) for default
  • basicOrderType encodes: ERC-721/1155 + ETH/ERC-20 payment + buy/sell direction
  • Orders are signed off-chain, fulfilled on-chain - use seaport-js SDK for order creation

Its names in a program

On Ethereum, Seaport is a namespace: its contracts need no import.

Deployments

ABI

SeaportABI

import SeaportABI from "./protocols/seaport/SeaportABI.json"; Speaks for: seaportV16.
  • fulfillBasicOrder((address considerationToken, uint256 considerationIdentifier, uint256 considerationAmount, address offerer, address zone, address offerToken, uint256 offerIdentifier, uint256 offerAmount, uint8 basicOrderType, uint256 startTime, uint256 endTime, bytes32 zoneHash, uint256 salt, bytes32 offererConduitKey, bytes32 fulfillerConduitKey, uint256 totalOriginalAdditionalRecipients, (uint256 amount, address recipient)[] additionalRecipients, bytes signature) parameters) payable returns (bool fulfilled)
  • cancel((address offerer, address zone, (uint8 itemType, address token, uint256 identifierOrCriteria, uint256 startAmount, uint256 endAmount)[] offer, (uint8 itemType, address token, uint256 identifierOrCriteria, uint256 startAmount, uint256 endAmount, address recipient)[] consideration, uint8 orderType, uint256 startTime, uint256 endTime, bytes32 zoneHash, uint256 salt, bytes32 conduitKey, uint256 counter)[] orders) returns (bool cancelled)

Next steps