---
updatedAt: 2026-04-21T07:49:30.000Z
agentTools:
  projectIndex: https://docs.opensea.io/llms.txt
---

# Create an item offer

Create an offer to purchase a single NFT (ERC721 or ERC1155).

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "OpenSea API",
    "description": "The API for OpenSea",
    "contact": {
      "name": "OpenSea",
      "url": "https://www.opensea.io",
      "email": "contact@opensea.io"
    },
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://api.opensea.io",
      "description": "OpenSea API server"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "tags": [
    {
      "name": "Offer Endpoints",
      "description": "Offer endpoints for building, creating, fulfilling, and querying offers"
    }
  ],
  "paths": {
    "/api/v2/orders/{chain}/{protocol}/offers": {
      "post": {
        "tags": [
          "Offer Endpoints"
        ],
        "summary": "Create an item offer",
        "description": "Create an offer to purchase a single NFT (ERC721 or ERC1155).",
        "operationId": "post_offer",
        "parameters": [
          {
            "name": "chain",
            "in": "path",
            "description": "The blockchain on which to filter the results",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ChainIdentifier"
            },
            "example": "ethereum"
          },
          {
            "name": "protocol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeaportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Item offer created successfully",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Offer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/V1ErrorWrapper"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/V1ErrorWrapper"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/V1ErrorWrapper"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/V1ErrorWrapper"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ChainIdentifier": {
        "type": "string",
        "default": "ethereum",
        "description": "Blockchain chain identifier. Use the chain slug (e.g., 'ethereum', 'polygon', 'arbitrum', 'optimism', 'base')",
        "enum": [
          "blast",
          "base",
          "ethereum",
          "zora",
          "arbitrum",
          "sei",
          "avalanche",
          "polygon",
          "optimism",
          "ape_chain",
          "flow",
          "soneium",
          "ronin",
          "bera_chain",
          "solana",
          "shape",
          "unichain",
          "gunzilla",
          "abstract",
          "animechain",
          "hyperevm",
          "somnia",
          "monad",
          "hyperliquid",
          "megaeth",
          "ink",
          "robinhood",
          "stablechain"
        ],
        "example": "ethereum"
      },
      "V1ErrorWrapper": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "ConsiderationItem": {
        "type": "object",
        "properties": {
          "endAmount": {
            "type": "string"
          },
          "identifierOrCriteria": {
            "type": "string"
          },
          "itemType": {
            "type": "integer",
            "format": "int32"
          },
          "recipient": {
            "type": "string"
          },
          "startAmount": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "endAmount",
          "identifierOrCriteria",
          "itemType",
          "recipient",
          "startAmount",
          "token"
        ]
      },
      "OfferItem": {
        "type": "object",
        "properties": {
          "endAmount": {
            "type": "string"
          },
          "identifierOrCriteria": {
            "type": "string"
          },
          "itemType": {
            "type": "integer",
            "format": "int32"
          },
          "startAmount": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "endAmount",
          "identifierOrCriteria",
          "itemType",
          "startAmount",
          "token"
        ]
      },
      "SeaportParameters": {
        "type": "object",
        "properties": {
          "conduitKey": {
            "type": "string"
          },
          "consideration": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConsiderationItem"
            }
          },
          "counter": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "offer": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferItem"
            }
          },
          "offerer": {
            "type": "string"
          },
          "orderType": {
            "type": "integer",
            "format": "int32"
          },
          "salt": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "totalOriginalConsiderationItems": {
            "type": "integer",
            "format": "int32"
          },
          "zone": {
            "type": "string"
          },
          "zoneHash": {
            "type": "string"
          }
        },
        "required": [
          "conduitKey",
          "consideration",
          "counter",
          "endTime",
          "offer",
          "offerer",
          "orderType",
          "salt",
          "startTime",
          "totalOriginalConsiderationItems",
          "zoneHash"
        ]
      },
      "SeaportRequest": {
        "type": "object",
        "properties": {
          "parameters": {
            "$ref": "#/components/schemas/SeaportParameters"
          },
          "protocol_address": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          }
        },
        "required": [
          "parameters",
          "protocol_address",
          "signature"
        ]
      },
      "CollectionInner": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ]
      },
      "ContractInner": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string"
          }
        },
        "required": [
          "address"
        ]
      },
      "Criteria": {
        "type": "object",
        "properties": {
          "collection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CollectionInner"
              },
              {
                "type": "null"
              }
            ]
          },
          "contract": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ContractInner"
              },
              {
                "type": "null"
              }
            ]
          },
          "encoded_token_ids": {
            "type": [
              "string",
              "null"
            ]
          },
          "numeric_traits": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/NumericTraitData"
            }
          },
          "traits": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/TraitData"
            }
          }
        }
      },
      "Item": {
        "type": "object",
        "properties": {
          "endAmount": {
            "type": "string"
          },
          "identifierOrCriteria": {
            "type": "string"
          },
          "itemType": {
            "type": "integer",
            "format": "int32"
          },
          "startAmount": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "endAmount",
          "identifierOrCriteria",
          "itemType",
          "startAmount",
          "token"
        ]
      },
      "NumericTraitData": {
        "type": "object",
        "properties": {
          "max": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "min": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "Offer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ListingOrOffer"
          },
          {
            "type": "object",
            "properties": {
              "asset": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/OrderAsset"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "chain": {
                "type": "string"
              },
              "criteria": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/Criteria"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "order_created_at": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "order_hash": {
                "type": "string",
                "description": "Seaport order hash, a 0x-prefixed 32-byte value. Absent on an order that settles through a Solana marketplace program, which has no Seaport identity and carries `svm_order` instead. Every EVM order has one."
              },
              "price": {
                "$ref": "#/components/schemas/Price"
              },
              "protocol": {
                "type": "string",
                "description": "Marketplace protocol a Solana order settles through, which is what tells you which identity shape the order uses. Absent on a Seaport order, whose payload is unchanged. Only orders we can build fulfillment for carry a value here."
              },
              "protocol_address": {
                "type": "string"
              },
              "protocol_data": {
                "$ref": "#/components/schemas/ProtocolData"
              },
              "remaining_quantity": {
                "type": "integer",
                "format": "int64"
              },
              "status": {
                "type": "string",
                "enum": [
                  "ACTIVE",
                  "INACTIVE",
                  "FULFILLED",
                  "EXPIRED",
                  "CANCELLED"
                ]
              },
              "svm_order": {
                "$ref": "#/components/schemas/SvmOrderIdentity",
                "description": "Identity of a Solana order, present in place of `order_hash`. A client that assumes `order_hash` is always set should read this field first and fall back to `order_hash`."
              }
            }
          }
        ],
        "required": [
          "chain",
          "price",
          "remaining_quantity",
          "status"
        ]
      },
      "OrderAsset": {
        "type": "object",
        "properties": {
          "contract": {
            "type": "string"
          },
          "identifier": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "contract"
        ]
      },
      "Parameters": {
        "type": "object",
        "properties": {
          "conduitKey": {
            "type": "string"
          },
          "consideration": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConsiderationItem"
            }
          },
          "counter": {
            "type": "integer"
          },
          "endTime": {
            "type": "string"
          },
          "offer": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "offerer": {
            "type": "string"
          },
          "orderType": {
            "type": "integer",
            "format": "int32"
          },
          "salt": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "totalOriginalConsiderationItems": {
            "type": "integer",
            "format": "int32"
          },
          "zone": {
            "type": "string"
          },
          "zoneHash": {
            "type": "string"
          }
        },
        "required": [
          "conduitKey",
          "consideration",
          "counter",
          "endTime",
          "offer",
          "offerer",
          "orderType",
          "salt",
          "startTime",
          "totalOriginalConsiderationItems",
          "zone",
          "zoneHash"
        ]
      },
      "Price": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string"
          },
          "decimals": {
            "type": "integer",
            "format": "int32"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "currency",
          "decimals",
          "value"
        ]
      },
      "ProtocolData": {
        "type": "object",
        "properties": {
          "parameters": {
            "$ref": "#/components/schemas/Parameters"
          },
          "signature": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "parameters"
        ]
      },
      "SvmOrderIdentity": {
        "type": "object",
        "description": "Identity of an order that settles through a Solana marketplace program. Such an order has no Seaport order hash, so `order_hash` is absent from its payload and it is addressed instead by `id`, the transaction signature that created it joined to the onchain state account holding it. Pass that `id` wherever an endpoint takes an order hash.",
        "properties": {
          "asset_id": {
            "type": "string",
            "description": "Mint of the asset the order is for, where the program records one. Absent otherwise."
          },
          "creation_signature": {
            "type": "string",
            "description": "Signature of the transaction that created the order. The first half of `id`."
          },
          "id": {
            "type": "string",
            "description": "`creation_signature:order_state`. This is what an endpoint expecting an order hash takes for a Solana order, for example `GET /api/v2/orders/chain/solana/protocol/{protocol_address}/{order_hash}`. Base58 and case-sensitive; do not lowercase it.",
            "example": "5j7s1QzqC8sT4Kz1oB9dYnUZ4qHnKX6h9YmZ6Zt7Zb3Q:CvhyBLWDcNwMatkNvMYuHALvbG1NzYrGw32dGzREaQKc"
          },
          "maker": {
            "type": "string",
            "description": "Wallet that created the order."
          },
          "order_state": {
            "type": "string",
            "description": "Address of the onchain account holding the order's state. The second half of `id`."
          }
        },
        "required": [
          "creation_signature",
          "id",
          "maker",
          "order_state"
        ]
      },
      "TraitData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "ListingOrOffer": {}
    },
    "responses": {
      "BadRequest": {
        "description": "For error reasons, review the response data.",
        "content": {
          "*/*": {
            "schema": {
              "$ref": "#/components/schemas/V1ErrorWrapper"
            }
          }
        }
      },
      "InternalError": {
        "description": "Internal server error. Please open a support ticket so OpenSea can investigate."
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "description": "API key required for authentication",
        "name": "x-api-key",
        "in": "header"
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Data & Discovery",
      "tags": [
        "Chain Endpoints",
        "Account Endpoints",
        "Collection Endpoints",
        "NFT Endpoints",
        "Contract Endpoints",
        "Token Endpoints",
        "Search Endpoints"
      ]
    },
    {
      "name": "Marketplace & Trading",
      "tags": [
        "Listing Endpoints",
        "Offer Endpoints",
        "Order Endpoints",
        "Swap Endpoints",
        "Drops Endpoints"
      ]
    },
    {
      "name": "Analytics & Events",
      "tags": [
        "Analytics Endpoints"
      ]
    },
    {
      "name": "Tools [Beta]",
      "tags": [
        "Tool Endpoints [Beta]"
      ]
    },
    {
      "name": "Transactions",
      "tags": [
        "Transaction Endpoints"
      ]
    },
    {
      "name": "Authentication",
      "tags": [
        "Auth Endpoints"
      ]
    }
  ]
}
```