post https://testnets-api.opensea.io/v2/offers/fulfillment_data
Note
Calling this endpoint does NOT fulfill the offer in question. It provides the data needed for the client to fulfill the listing directly through the protocol contract (on chain).
This endpoint is used to generate fulfillment data for offers. The response contains all of the information needed for clients to fulfill an offer directly on chain.
Is fulfillment of collection and trait offers supported?
Yes! You just need to pass in the NFT you are fulfilling the offer with as consideration
. The fulfiller
account must own this NFT or the request will not succeed.
Request
Name | Type | Description |
---|---|---|
offer | Offer | Offer you are planning to fulfill |
fulfiller | Fulfiller | Account fulfilling the offer |
consideration | Consideration | If the offer you are fulfilling is a criteria offer, the NFT you are using to fulfill the offer with. The fulfiller account must own this NFT or the request will not succeed. |
Offer Model
Field | Type | Description |
---|---|---|
hash | string | hash of the offer |
chain | string | name of the chain |
protocol_address | string | address of the exchange contract used to place the offer |
Fulfiller Model
Field | Type | Description |
---|---|---|
address | string | wallet address of the intended fulfiller |
Consideration Model
Field | Type | Description |
---|---|---|
asset_contract_address | string | The contract address of the NFT you are fulfilling with |
token_id | string | The |
Sample Payload
{
"offer": {
"hash": "0x35de6f4f16bd28271f3625a90bf3cd1e7dcd8d5b0bb16d5edb3b98d5fdbfb8ae",
"chain": "goerli",
"protocol_address": "0x00000000006c3852cbEf3e08E8dF289169EdE581"
},
"fulfiller": {
"address": "0xD77F375A33b1109e82f3C46A30537F1E019708eB"
},
"consideration": {
"asset_contract_address": "0x1a92f7381b9f03921564a437210bb9396471050c",
"token_id": "6162"
}
}
Supported Protocols:
- Seaport 1.4 (0x00000000006c3852cbEf3e08E8dF289169EdE581)
Response
Name | Type | Description | Description |
---|---|---|---|
protocol | string | name of the protocol contract | |
fulfillment_data | object | data needed to fulfill the listing on chain | -- |
Fulfillment Data Model
Name | Type | Description |
---|---|---|
transaction | object | specifies the name of the fulfillment method and the call data |
orders | array of object | array of Seaport orders |
Transaction Data Model
Name | Type | Description |
---|---|---|
function | string | the protocol contract method used for listing fulfillment |
chain | int | numeric chain identifier |
to | str | address of the protocol contract used for fulfillment |
value | int | wei value of the transaction |
input_data | dict | decoded call data |
Sample Response
{
"protocol": "seaport",
"fulfillment_data": {
"transaction": {
"function": "fulfillBasicOrder((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes))",
"chain": 1,
"to": "0x00000000006c3852cbef3e08e8df289169ede581",
"value": 0,
"input_data": {
"parameters": {
"considerationToken": "0xd78b76fcc33cd416da9d3d42f72649a23d7ac647",
"considerationIdentifier": 3171,
"considerationAmount": 1,
"offerer": "0x13e5f9702139053f8393590ed668bee6061b5d47",
"zone": "0x004c00500000ad104d7dbd00e3ae0a5c00560c00",
"offerToken": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"offerIdentifier": 0,
"offerAmount": 281699999999999950,
"basicOrderType": 18,
"startTime": 1670823187,
"endTime": 1670837588,
"zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"salt": 24446860302761739304752683030156737591518664810215442929817804398026903354364,
"offererConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
"fulfillerConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
"totalOriginalAdditionalRecipients": 2,
"additionalRecipients": [
{
"amount": 7042499999999998,
"recipient": "0x0000a26b00c1f0df003000390027140000faa719"
},
{
"amount": 21127499999999996,
"recipient": "0x48c15a1c597c972a85f1a15bddbb07f93785579a"
}
],
"signature": "0x7337f22d90210f85cf7791cf55096727f415bc3d8993b33e85127580827be34a31e53cf753c001559016b141c110644117bc637f3c2189a9d7886d6f309118621c"
}
}
},
"orders": [
{
"parameters": {
"offerer": "0x13e5f9702139053f8393590ed668bee6061b5d47",
"offer": [
{
"itemType": 1,
"token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"identifierOrCriteria": "0",
"startAmount": "281699999999999950",
"endAmount": "281699999999999950"
}
],
"consideration": [
{
"itemType": 2,
"token": "0xD78b76Fcc33cd416dA9d3D42f72649a23D7AC647",
"identifierOrCriteria": "3171",
"startAmount": "1",
"endAmount": "1",
"recipient": "0x13e5f9702139053F8393590Ed668Bee6061b5d47"
},
{
"itemType": 1,
"token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"identifierOrCriteria": "0",
"startAmount": "7042499999999998",
"endAmount": "7042499999999998",
"recipient": "0x0000a26b00c1F0DF003000390027140000fAa719"
},
{
"itemType": 1,
"token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"identifierOrCriteria": "0",
"startAmount": "21127499999999996",
"endAmount": "21127499999999996",
"recipient": "0x48c15A1C597C972a85f1A15BDdBb07F93785579A"
}
],
"startTime": "1670823187",
"endTime": "1670837588",
"orderType": 2,
"zone": "0x004C00500000aD104D7DBd00e3ae0A5C00560C00",
"zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"salt": "0x360c6ebe0000000000000000000000000000000000000000f1c65891c65d7bfc",
"conduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
"totalOriginalConsiderationItems": 3,
"counter": 0
},
"signature": "0x7337f22d90210f85cf7791cf55096727f415bc3d8993b33e85127580827be34a31e53cf753c001559016b141c110644117bc637f3c2189a9d7886d6f309118621c"
}
]
}
}