Multichain dApps
Add any chain in hours, not weeks
Build wallets, DEX aggregators, and portfolio trackers across 7 blockchain architectures with one library. Rust, TypeScript, Python, Go, Java, WASM.
The scenario
You're building a multichain wallet, a DEX aggregator, a portfolio tracker, or a bridge monitoring dashboard. Every time you add support for a new chain, you need:
- A new RPC client with retry logic, rate limiting, and failover
- A new ABI decoder for that chain's event format
- A new indexer for historical data
- New error handling for that chain's failure modes
The problem today
Adding Solana to an EVM app
You go from ethers.js/Alloy to @solana/web3.js — completely different API, different data model, different error handling.
Adding Cosmos
Now you need cosmjs — yet another library, another learning curve.
Each chain = weeks of integration work
Provider setup, error handling, retry logic, rate limiting — you rebuild the same plumbing every time.
6 languages, no shared solution
Your Rust backend uses Alloy. Your TypeScript frontend uses viem. Your Python analytics pipeline uses web3.py. None of them share a common interface.
How ChainFoundry solves it
typescript
import { ChainClient } from class="tok-s">'@chainfoundry/chainrpc';
import { EvmDecoder, SolanaDecoder } from class="tok-s">'@chainfoundry/chaincodec';
class="tok-c">// Same API, different chains
const eth = ChainClient.evm(class="tok-s">"https://eth-rpc.example.com");
const sol = ChainClient.solana(class="tok-s">"https://sol-rpc.example.com");
const cosmos = ChainClient.cosmos(class="tok-s">"https://cosmos-rpc.example.com");
class="tok-c">// Same decode pattern, different architectures
const ethEvent = EvmDecoder.decode(ethLog, uniswapSchema);
const solEvent = SolanaDecoder.decode(solLog, raydiumSchema);
class="tok-c">// Same middleware stack everywhere
class="tok-c">// Circuit breaker, rate limiting, caching, failover — all built inWhat changes for you
- Hours, not weeks to add a new chain
- One API across Rust, TypeScript, Python, Go, Java, and WASM
- Production middleware built in — you don't write retry logic, failover, rate limiting, or cache invalidation ever again
- Embeddable — it's a library in your binary, not a SaaS you depend on
Who this is for
- Cross-chain wallet teams (Phantom, Backpack, and competitors)
- DEX aggregators (decoding swaps from Uniswap + Raydium + Osmosis)
- Portfolio trackers (balances + tx history across all chains)
- Block explorer teams adding multichain support
- Bridge monitoring dashboards
Get started
Ready to build?
Open-source core. EU-built. Production-grade middleware. Add any chain in hours, not weeks.
Developer
Get started
Read the docs, install the SDK, decode your first event in 5 minutes.
Read the docsPartner
Book a call
Ecosystem partnerships, enterprise pilots, and grant collaborations.
Book a 30-min callUpdates
Stay in the loop
Occasional updates on releases, new chains, and deep-dive blog posts.
Subscribe