> ## Documentation Index
> Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Seaport (OpenSea)

> NFT marketplace interactions with Seaport

<Warning>
  **Looking for Contributors!** This Skill needs an implementation.

  Contributing a Skill involves:

  1. Writing a reference implementation with full functionality
  2. Adding comprehensive tests
  3. Writing documentation with usage examples

  See the [ethers-provider Skill](https://github.com/evmts/voltaire/tree/main/examples/ethers-provider) for an example of a complete Skill implementation.

  Interested? Open an issue or PR at [github.com/evmts/voltaire](https://github.com/evmts/voltaire).
</Warning>

<Info>
  **Skill** — Copyable reference implementation. Use as-is or customize. See [Skills Philosophy](/concepts/skills).
</Info>

Create and fulfill NFT orders using OpenSea's Seaport protocol.

## Planned Implementation

### Create Order

```typescript theme={null}
import { Seaport } from './Seaport.js';

const seaport = Seaport({
  provider,
  seaportAddress: SEAPORT_ADDRESS,
});

// List NFT for sale
const order = await seaport.createOrder({
  offer: [{
    itemType: 2, // ERC721
    token: NFT_ADDRESS,
    identifier: tokenId,
  }],
  consideration: [{
    itemType: 0, // ETH
    amount: parseEther('1'),
    recipient: sellerAddress,
  }],
  signer,
});
```

### Fulfill Order

```typescript theme={null}
// Buy NFT
await seaport.fulfillOrder({
  order,
  signer,
  value: parseEther('1'),
});

// Fulfill with criteria (trait-based orders)
await seaport.fulfillAdvancedOrder({
  order,
  criteriaResolvers: [{
    identifier: specificTokenId,
    proof: merkleProof,
  }],
  signer,
});
```

### Collection Offers

```typescript theme={null}
// Make offer on any NFT in collection
const order = await seaport.createOrder({
  offer: [{
    itemType: 1, // ERC20
    token: WETH,
    amount: parseEther('0.5'),
  }],
  consideration: [{
    itemType: 4, // ERC721 with criteria
    token: NFT_ADDRESS,
    identifier: 0,
    criteria: collectionMerkleRoot,
    recipient: buyerAddress,
  }],
  signer,
});
```

## Resources

* [Seaport Documentation](https://docs.opensea.io/reference/seaport-overview)
* [Seaport Contracts](https://github.com/ProjectOpenSea/seaport)

## Related

* [permit](/skills/permit) — Gasless approvals
