Seaport Order Validator

August 18, 2025 ยท View on GitHub

The SeaportValidator contract offers various validation methods to ensure that supplied Seaport orders are being constructed correctly. Most contract calls return an ErrorsAndWarnings struct with two uint16 arrays to help developers debug issues with their orders.

See below for the full list of Errors and Warnings.

The contract is deployed to the following addresses:

Contract Canonical Cross-chain Deployment Address
SeaportValidator 0x00e5F120f500006757E984F1DED400fc00370000
SeaportValidator 1.1 (legacy) 0xF75194740067D6E4000000003b350688DD770000
SeaportValidator 1.4 (legacy) 0x00000000BE3Af6882A06323fd3f400A9e6A0DC42
SeaportValidator 1.5 (legacy) 0x000000000DD1F1B245b936b2771408555CF8B8af

Special thanks to:

  • arr00, who deployed an earlier version of a SeaportValidator contract which can be found here
  • stephankmin, who extended the SeaportValidator contract to support more errors/warnings and arbitary Seaport instances with compatible versions
  • horsefacts, who implemented support for a read-only version of the helper contract

Errors and Warnings

CodeIssueType
100Invalid order format. Ensure offer/consideration follow requirementsError
200ERC20 identifier must be zeroError
201ERC20 invalid tokenError
202ERC20 insufficient allowance to conduitError
203ERC20 insufficient balanceError
300ERC721 amount must be oneError
301ERC721 token is invalidError
302ERC721 token with identifier does not existError
303ERC721 not owner of tokenError
304ERC721 conduit not approvedError
305ERC721 offer item using criteria and more than amount of one requires partial fillsError
400ERC1155 invalid tokenError
401ERC1155 conduit not approvedError
402ERC1155 insufficient balanceError
500Consideration amount must not be zeroError
501Consideration recipient must not be null addressError
502Consideration contains extra itemsError
503Private sale cannot be to selfError
504Zero consideration itemsWarning
505Duplicate consideration itemsWarning
506Offerer is not receiving at least one itemWarning
507Private Sale Order. Be careful on fulfillmentWarning
508Amount velocity is too high. Amount changes over 5% per 30 min if warning and over 50% per 30 min if errorBoth
509Amount step large. The steps between each step may be more than expected. Offer items are rounded down and consideration items are rounded up.Warning
600Zero offer itemsWarning
601Offer amount must not be zeroError
602More than one offer itemWarning
603Native offer itemWarning
604Duplicate offer itemError
605Amount velocity is too high. Amount changes over 5% per 30 min if warning and over 50% per 30 min if errorBoth
606Amount step large. The steps between each step may be more than expected. Offer items are rounded down and consideration items are rounded up.Warning
700Primary fee missingError
701Primary fee item type incorrectError
702Primary fee token incorrectError
703Primary fee start amount too lowError
704Primary fee end amount too lowError
705Primary fee recipient incorrectError
800Order cancelledError
801Order fully filledError
802Cannot validate status of contract orderWarning
900End time is before start timeError
901Order expiredError
902Order expiration in too long (default 26 weeks)Warning
903Order not activeWarning
904Short order duration (default 30 min)Warning
1000Conduit key invalidError
1001Conduit does not have canonical Seaport as an open channelError
1100Signature invalidError
1101Contract orders do not have signaturesWarning
1102Signature counter below current counterError
1103Signature counter above current counterError
1104Signature may be invalid since totalOriginalConsiderationItems is not set correctlyWarning
1200Creator fee missingError
1201Creator fee item type incorrectError
1202Creator fee token incorrectError
1203Creator fee start amount too lowError
1204Creator fee end amount too lowError
1205Creator fee recipient incorrectError
1300Native token address must be null addressError
1301Native token identifier must be zeroError
1302Native token insufficient balanceError
1400Zone is invalidWarning
1401Zone rejected order. This order must be fulfilled by the zone.Warning
1402Zone not set. Order unfulfillableError
1500Merkle input only has one leafError
1501Merkle input not sorted correctlyError
1600Contract offerer is invalidWarning