Skip to main content
Sim IDX Supported Chains IDX is a multi-chain indexing platform that lets you to build apps across multiple blockchain networks simultaneously. You can choose to build on a single blockchain, or build real-time apps that span across any combination of the supported networks below.
IDX support for additional chains is continuously expanding. If you need support for a specific chain that’s not listed here, please reach out to our team through the support channels.

Available Chains

We currently support the following blockchain networks. Each card shows the chain’s display name, the corresponding enum value for use in your code (Chains.EnumName), and the chain ID for direct reference: For more information on setting up triggers and working with different chains, see the IDX Framework documentation.

Using chainContract in Triggers

To listen to events on any supported chain, use the chainContract function with the corresponding chain enum. This function takes a chain enum and contract address to create triggers for specific smart contracts:
// Example: Listen to events on Ethereum mainnet
addTrigger(
    chainContract(Chains.Ethereum, 0x1F98431c8aD98523631AE4a59f267346ea31F984), 
    listener.triggerOnPoolCreatedEvent()
);

// Example: Listen to events on Base
addTrigger(
    chainContract(Chains.Base, 0x1F98431c8aD98523631AE4a59f267346ea31F984), 
    listener.triggerOnPoolCreatedEvent()
);

// Example: Multi-chain app listening to the same contract on different chains
addTrigger(
    chainContract(Chains.Arbitrum, 0x1F98431c8aD98523631AE4a59f267346ea31F984), 
    listener.triggerOnPoolCreatedEvent()
);
addTrigger(
    chainContract(Chains.Optimism, 0x1F98431c8aD98523631AE4a59f267346ea31F984), 
    listener.triggerOnPoolCreatedEvent()
);
If you want to register other types of triggers, like triggering on ABI or triggering globally, visit the Listener Features page to learn more.

Block Range Support

IDX supports custom block ranges for targeting specific blocks or time periods across all supported chains. You can use .withStartBlock(), .withEndBlock(), and .withBlockRange() methods with any chain helper function.
For detailed documentation on block range configuration, examples, and chain-specific limitations, see the Block Range Support section in the Listener Features guide.

Testing with Chain-Specific Evaluation

When developing and testing your IDX app, you can use the sim listeners evaluate command with the --chain-id parameter to test your listeners on specific chains:
# Test listeners on Ethereum mainnet only
sim listeners evaluate --chain-id 1

# Test listeners on Base only  
sim listeners evaluate --chain-id 8453

# Test listeners on Arbitrum only
sim listeners evaluate --chain-id 42161
If you omit the --chain-id parameter, the evaluation will run across all chains that your triggers are configured for:
# Test listeners on all configured chains
sim listeners evaluate
To learn more about the sim listeners evaluate command, visit the CLI documentation page to learn more.
I