Drops Endpoints

Build deploy contract transaction data

Changed on

Returns a ready-to-sign transaction that deploys a new drop contract. Sign and send it from sender, which the response repeats as from; that wallet owns the contract.

Deployable drop_type and token_type combinations:

  • seadrop_v1_erc721 with erc721_clone or erc721_standard: an ERC-721 SeaDrop V1 drop, with stages, allowlists, reveal, and public minting. erc721_clone creates the contract through OpenSea's clone factory; erc721_standard deploys the full contract bytecode.
  • seadrop_v2_erc1155_self_mint with erc1155_clone: an ERC-1155 self-mint drop, where the owner creates each token and mints its whole supply to themselves. It has no stages, publish step, or public mint.

Every other combination returns 400.

For the clone types, to is OpenSea's clone factory. For erc721_standard, to is null: it is a contract-creation transaction, so send it without a to field.

Next, poll GET /api/v2/drops/deploy/{chain}/{tx_hash}/receipt with the hash of the sent transaction until status is success. The receipt carries the contract address and, once the new collection is indexed, the collection_slug every other drop endpoint takes.

post/api/v2/drops/deploy

Request

Request body

chainstring required

Chain slug (e.g. "ethereum", "base")

contract_namestring required

Name for the new contract

contract_symbolstring required

Symbol for the new contract

drop_type'seadrop_v1_erc721' | 'seadrop_v2_erc1155_self_mint' required

Drop type. Deployable values are seadrop_v1_erc721 (with token_type erc721_clone or erc721_standard) and seadrop_v2_erc1155_self_mint (with token_type erc1155_clone). Other combinations return 400.

senderstring required

Deployer wallet address. The transaction must be sent from it, and it becomes the contract owner that publishes the drop and creates self-mint items.

token_type'erc721_clone' | 'erc721_standard' | 'erc1155_clone' required

Contract token type. erc721_clone or erc721_standard for drop_type seadrop_v1_erc721; erc1155_clone for drop_type seadrop_v2_erc1155_self_mint.

Example request

{
  "chain": "ethereum",
  "contract_name": "My NFT Collection",
  "contract_symbol": "MNFT",
  "drop_type": "seadrop_v1_erc721",
  "sender": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "token_type": "erc721_clone"
}

Response

Ready-to-sign transaction data for contract deployment

chainstring required

Chain identifier

datastring required

Encoded transaction data (hex)

fromstring required

Address the transaction must be sent from: the request's sender, which becomes the contract owner.

tostring nullable required

Transaction target. The clone factory for erc721_clone and erc1155_clone. Null for erc721_standard, which is a contract-creation transaction: send it with no to at all. Sending it to the zero address does not deploy anything.

valuestring required

Native currency to send with the transaction, in wei, as a decimal string (not hex)

Example response

{
  "value": "0"
}

Changes

    • breaking

      request property was restricted to a list of enum values

    • breaking

      request property was restricted to a list of enum values

    • breaking

      the response property became nullable for the status

    • info

      added the new erc1155_clone enum value to the request property

    • info

      added the new erc721_clone enum value to the request property

    • info

      added the new erc721_standard enum value to the request property

    • info

      added the new seadrop_v1_erc721 enum value to the request property

    • info

      added the new seadrop_v2_erc1155_self_mint enum value to the request property

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status