Sim IDX is a framework that radically simplifies the process of indexing blockchain data.
This guide will walk you through installing the CLI, initializing a sample project, and running your first listener test.
Install CLI
Download & Install Dependencies
First, ensure you have Node.js v20.x or later installed.
You can download it from Nodejs.org.# Check your node version
node -v
Install the CLI
curl -L https://simcli.dune.com | bash
You’ll see the following output:[INFO] Installing sim CLI v0.0.86
[INFO] Installing sim to /root/.local/bin/sim
[INFO] sim CLI installed successfully!
[INFO] Added sim CLI to PATH in /root/.bashrc
After the installer finishes, run source ~/.bashrc (or the appropriate profile file) so the sim executable is available in your PATH.
Verify Installation
Verify that the CLI is working:You’ll see:sim v0.0.86 (eaddf2 2025-06-22T18:01:14.000000000Z)
Initialize Sample App
First, create a new folder.
mkdir my-first-idx-app
cd my-first-idx-app
Next, initialize your new Sim IDX app.
This command initializes a pre-configured sample app that indexes every new Uniswap V3 trading pool created across multiple chains including Ethereum, Base, and Unichain.
It sets up a complete app structure for you, including a listener contract, tests, and a boilerplate API.
sim init also initializes a new Git repository and makes the first commit.
Make sure Git is installed and configured. Otherwise the command might fail.
After successfully running init, you’ll see:
INFO sim::init: Successfully initialized a new Sim IDX app
Authentication
Create a new API key in the Sim dashboard so you can authenticate in the CLI and test your new sample app.
To generate a new API key, visit the Keys page and click the New button.
Give your new API key a unique name and select Sim IDX CLI for the key’s purpose.
After you’ve created your key, copy its value, go back to the CLI, and run:
Paste the API key you created and press Enter.
Once you’ve successfully authenticated, you’ll see the following:
INFO sim::authenticate: Verifying API Key...
INFO sim::authenticate: API Key verified successfully.
INFO sim::authenticate: API Key successfully saved.
Test Your Listener
Now you can test to make sure your sample app’s listener is working correctly:
sim listeners evaluate \
--start-block 22757345 \
--chain-id 1
In this case, sim listeners evaluate processes only a single block.
See the CLI Overview for details.
After the command finishes, you’ll see a summary of indexed events.
If everything succeeds, your listener is working correctly.
Next Steps
You’ve now got a working contract listener.
Next, you’ll deploy your app so it can index data continuously.
If you’d like to go further, you can refine and extend your listener to capture even more onchain data.