Build cross-chain apps with Avail Nexus — accept payments from any chain, swap tokens across ecosystems, and execute contracts remotely.
Nexus lets your app move assets and execute transactions across chains without requiring users to bridge manually. Your users see one unified balance across every connected chain and sign a single message — Nexus turns it into an intent that solvers fill on the destination chain, usually in seconds.
Quick Look — How the SDK Works
import { createNexusClient } from '@avail-project/nexus-core';// 1. Create and initialize the clientconst client = createNexusClient({ network: 'mainnet' });await client.initialize();await client.setEVMProvider(window.ethereum);// 2. See balances across all chainsconst bridgeBalances = await client.getBalancesForBridge();const swapBalances = await client.getBalancesForSwap();// 3. Bridge to any chain — one signature, filled by a solverawait client.bridge( { toTokenSymbol: 'USDC', toAmountRaw: 100_000_000n, // 100 USDC (6 decimals) toChainId: 42161, // Arbitrum }, { hooks: { // Show the user what they'll pay and receive, then confirm onIntent: ({ intent, allow, deny }) => allow(), }, });// 4. Or swap into any token on any chainawait client.swapWithExactOut({ toChainId: 8453, // Base toTokenAddress: '0x4200000000000000000000000000000000000006', // WETH on Base toAmountRaw: 10_000_000_000_000_000n, // 0.01 WETH});
What Changes for Your Users
Without Nexus
With Nexus
User bridges manually, switches chains, manages gas per chain
User signs one message — Nexus routes funds across chains
Dev writes bridge logic per chain pair
Dev calls a single SDK method with token + destination
Node.js 18+, a package manager (npm/pnpm/yarn), and an EVM wallet (MetaMask, WalletConnect, etc.).
How Nexus Works
When a user initiates a cross-chain action, Nexus handles the entire flow behind a single signature:
The SDK Requests a Quote
The user says "Move 100 USDC to Arbitrum" — the SDK asks Nexus for a quote: which source chains to draw funds from and what the fees are.
The User Approves and Signs Once
Your app shows the intent — sources, destination, and fees — via the onIntent hook. The user approves and signs one message covering the whole operation. No chain switching, no per-chain bridging.
Funds Are Locked, a Solver Fills
The signed intent is submitted to the Nexus network, and the user's funds are deposited into Vault contracts on each source chain. A solver fronts its own capital and delivers the funds on the destination chain — this is why the user receives tokens in seconds.
Settlement Happens in the Background
The solver is later reimbursed from the locked source funds through an on-chain settlement authorized by Nexus validators. If no solver fills the intent before it expires, the user is refunded.
Note
Some routes are served by the native Nexus flow (intents filled by solvers) and others by Mayan, a third-party bridge provider. The SDK selects the provider automatically — your integration code stays the same.
Supported Chains & Tokens
Nexus currently supports bridging and swaps across major EVM chains including Ethereum, Arbitrum, Base, Optimism, Arc Mainnet, and more. Bridge operations support canonical tokens (ETH, USDC, USDT), while swap operations support a broader range of tokens through DEX aggregator partners.