Build Anywhere.
Connect Everything.
The most comprehensive cross-chain development toolkit. Support for 21+ blockchains with unified APIs that make cross-chain development as simple as single-chain development.
Powering real cross-chain projects
Cross-Chain Development, Simplified
Building multi-chain applications means juggling dozens of different APIs, standards, and complexities. XChainJS provides unified patterns and tools to make cross-chain development manageable.
Blockchain Fragmentation is Killing Innovation
Different APIs - Every blockchain has its own client library and methods
Inconsistent Standards - Transaction formats, fee calculations, and error handling vary wildly
Maintenance Nightmare - Updates to 20+ different libraries, each with breaking changes
Developer Frustration - Months of integration work for each new chain
The Result?
Most projects only support 2-3 blockchains, missing out on 90% of the market. Development takes 10x longer than it should, and bugs are everywhere.
// Managing multiple blockchains the hard way
const bitcoinClient = new BitcoinClient(config1)
const ethereumClient = new EthereumClient(config2)
const cosmosClient = new CosmosClient(config3)
const avalancheClient = new AvalancheClient(config4)
// Different APIs for each chain
const btcBalance = await bitcoinClient.getBalance(address)
const ethBalance = await ethereumClient.balanceOf(address)
const atomBalance = await cosmosClient.queryBalance(address)
const avaxBalance = await avalancheClient.getAccountBalance(address)
// Different transaction formats
const btcTx = await bitcoinClient.sendTransaction({
to: recipient,
amount: amount,
fee: calculateBtcFee()
})
const ethTx = await ethereumClient.transfer({
recipient: recipient,
value: amount,
gasPrice: await ethereumClient.getGasPrice()
})
// ...and 18 more chains with different APIs
// 100+ lines of repetitive, error-prone codeExplore the Blockchain Universe
Interactive map of all supported blockchains. Click any chain to see live examples and implementation details.
Bitcoin
Bitcoin
Ethereum
L1
THORChain
L1
Cosmos
Cosmos
Avalanche
L1
Arbitrum
L2
Base
L2
BNB Chain
L1
MAYAChain
L1
TRON
L1
Sui
L1
XRP Ledger
L1
Dash
Bitcoin
Zcash
Bitcoin
The XChainJS Suite
A modular toolkit of 40+ packages that layer together — from low-level chain clients to a cross-protocol swap aggregator. Pick only what you need.
Chain Clients
One unified API across 21 blockchains
Send, receive, and query balances on every supported chain through a single consistent interface.
Protocol Layers
THORChain & MAYAChain swaps + queries
High-level helpers to estimate, build, and execute native cross-chain swaps and liquidity actions.
Aggregator
Best route across every protocol
Compare and route swaps across THORChain, MAYAChain, and Chainflip to find the optimal path.
Wallet
Multi-chain wallet abstraction
Manage keys, addresses, and signing across all supported chains from one wallet instance.
Core & Providers
The shared foundation
Base client interfaces, data providers, and crypto/util primitives every package builds on.
Network APIs
Typed access to chain data
Strongly-typed clients for THORChain & MAYAChain network endpoints — Midgard, THORNode and more.
Try XChainJS in 30 Seconds
Interactive code playground with real examples. No setup required - just click and see XChainJS in action.
Code Editor
import { Client as BtcClient, defaultBTCParams } from '@xchainjs/xchain-bitcoin'
import { Client as EthClient, defaultEthParams } from '@xchainjs/xchain-ethereum'
import { Network } from '@xchainjs/xchain-client'
import { Wallet } from '@xchainjs/xchain-wallet'
import { assetToString, baseToAsset } from '@xchainjs/xchain-util'
// Initialize wallet with multiple chain clients
const wallet = new Wallet({
BTC: new BtcClient({ ...defaultBTCParams, network: Network.Mainnet }),
ETH: new EthClient({ ...defaultEthParams, network: Network.Mainnet })
})
// Get all balances across all chains
const allBalances = await wallet.getBalances()
// Get balance for specific chain
const ethBalances = await wallet.getBalance('ETH')
// Format and display
console.table(
ethBalances.map((balance) => ({
Asset: assetToString(balance.asset),
Amount: baseToAsset(balance.amount).amount().toString()
}))
)Output
✅ Balance Results: ┌─────────┬─────────────────────┬─────────┐ │ (index) │ Asset │ Amount │ ├─────────┼─────────────────────┼─────────┤ │ 0 │ 'ETH.ETH' │ '1.25' │ │ 1 │ 'ETH.USDT-0xdAC1..' │ '100.50'│ └─────────┴─────────────────────┴─────────┘
From Idea to Production in 3 Steps
Try Examples
Experiment with code samples in our interactive playground
Install & Build
Add XChainJS to your project and start building
Ship to Users
Deploy your cross-chain application with confidence
Ready to build the future?
Powering Real Projects
These projects have already integrated XChainJS to build cross-chain applications. Join the growing ecosystem of developers building the multi-chain future.
Projects Using XChainJS
ASGARDEX
Cross-chain DEX interface
Leap Wallet
Multi-chain wallet
Swapper
Cross-chain aggregator
Lends
Lending protocol
CacaoSwap
MAYAChain DEX
LeoDex
Trading platform
Developer Tools
Comprehensive TypeScript SDK with full type safety and excellent IDE support.
Documentation
Detailed guides, examples, and API documentation to get you started quickly.
Community
Active Discord and Telegram communities for support and collaboration.
Ready to Build?
Start building cross-chain applications with XChainJS. From simple balance checks to complex DeFi protocols.
Built for Developers, by Developers
XChainJS was born from the frustration of building cross-chain applications. We've abstracted away the complexity so you can focus on what matters - building amazing user experiences.
TypeScript Native
Full type safety and excellent IDE support out of the box
Comprehensive Testing
100% test coverage ensures reliability in production
Active Community
Join 10K+ developers building the future of DeFi
Developer Metrics
Latest Release
• New chain clients: Base, Sui, XRP, Zcash & Dash
• Multi-protocol routing across THORChain, MAYAChain & Chainflip
• Improved EVM & UTXO provider support
Ready to Build the Multi-Chain Future?
Join thousands of developers already building with XChainJS. From simple swaps to complex DeFi protocols - we've got you covered.
Powering real cross-chain projects