DipDup Docs
DipDup is a Python framework for building smart contract indexers. It helps developers focus on business logic instead of writing a boilerplate to store and serve data.
 Get started in three steps!  DipDup installation and creating a new project are fully interactive and take just a few minutes! Follow the instructions on the right to get started.  Ready to go beyond the basics? Time to write the project config and implement data handlers. 
# Install with `uv tool` or our installer
curl -Lsf https://dipdup.io/install.py | python3
# Create a new project interactively
dipdup new
# Enjoy your indexer!
cd my_project && dipdup run
 Installer script performs compatibility checks, installs uv for the current user and DipDup using it. 
Quickstart
Get your first indexer running in minutes. You only need a Linux/macOS machine with Python 3.12 installed. In this short guide we will create an indexer for a fungible token contract. Our goal is to save all token transfers to the database and then calculate some statistics of its holders' activity.
EVM Start taking the first steps when working with DipDup for EVM.
Let's create an indexer for the USDt token contract.
Let's create an indexer for the USDt token contract.
Starknet Discover the basics of DipDup for Starknet.
Let's create an indexer for the USDt token contract.
Let's create an indexer for the USDt token contract.
Tezos A short guide for a quick start with DipDup for Tezos.
Let's create an indexer for the tzBTC FA1.2 token contract.
Let's create an indexer for the tzBTC FA1.2 token contract.
Substrate A short guide for a quick start with Substrate.
Let's create an indexer for AssetHub network transfers.
Let's create an indexer for AssetHub network transfers.
Featured
 Indexes for any task  Multiple indexes are available for different workloads. Every index is linked to a specific datasource and provides a set of handlers for different kinds of data. 
 Magic GraphQL API  DipDup provides seamless integration with Hasura GraphQL Engine to expose your data to the client side. It's a powerful tool that allows you to build a GraphQL API on top of your database with minimal effort. 
 Advanced ORM  To store indexed data in the database, you need to define models that represent database tables. Our storage layer is based on Tortoise ORM. We have extended it with some useful features like a copy-on-write rollback mechanism, caching, and more. 
 Instant deployment  You can run DipDup in Docker containers. It's a convenient way to deploy your indexer to the cloud. This guide will show you how to do it with Compose and Swarm environments. 
 Battle-tested by the best  Many major players like Rarible, Youves and Kord.fi are already using DipDup in production. Check out the full list and discover all the use cases. 
Resources
 Changelog  Complete list of changes in recent DipDup versions. 
Read more -> Troubleshooting  Got stuck? Check out the list of common issues and their solutions. 
Read more -> F.A.Q.  Find answers to the most frequently asked questions. 
Read more ->Help and tips -> Join our Discord 
Ideas or suggestions -> Issue Tracker 
GraphQL IDE -> Open Playground