Why Submit Contracts for Decoding?

Decoding enables you to create dedicated, easy-to-use datasets for your protocol on Dune, making it easier to build insightful dashboards.

How to Submit Contracts

Use the Dune UI for a guided submission process: https://dune.com/contracts/new.
For more details on decoding and submission, watch the Decoding Tutorial.

Batch Submission via CSV (Advanced)

If you are looking to submit dozens of protocol contracts, you may submit via CSV. Work with us through Slack or Telegram, ensuring the CSV is formatted correctly for batch submission.

Batch submission bypasses UI safeguards, so make sure all flags are accurate, the ABI is formatted correctly, and naming follows Dune standards. Using the UI is preferred, as it includes checks that reduce errors and debugging time.

Follow this Google Sheet template for exact format, and refer to Dune’s documentation for guidance on fields like:

Submission Strategy

  • For Chains: Encourage top protocols to submit their key contracts.
  • For Protocols: Collaborate with your developers or data analysts to identify which contracts include the main logic and events.

Special Instructions by Contract Type

Proxy Contracts

If using a proxy pattern, submit the implementation contract’s ABI.

Dune’s pipeline cannot handle dynamic proxies or complex patterns automatically yet.

ERC20, ERC721, ERC1155 Tokens

These contracts typically don’t need submission, as Dune already covers standard approvals and transfers. Submit only if custom events are needed.

DEX Contracts

Look for below sets of contracts:

  • Factory Contract: should emit pool creation events.
  • Pair/Pool Contract: should emit swap events.

If decoding is required for additional contracts like routers or position managers, please submit those as well.

NFT Marketplace Contracts

Submit the main marketplace contract with key events, such as:

  • ERC721BuyOrderFilled
  • ERC721SellOrderFilled
  • ERC1155BuyOrderFilled
  • ERC1155SellOrderFilled

Unverified Contracts

If the contract isn’t verified on the block explorer, contact the protocol developers to obtain the ABI.