← Protocols
Axelar
Cross-chain / Bridge·EVM · Cosmos · Solana · Sui · Multi-chain

Axelar

01Description

Proof-of-stake validator network for cross-chain General Message Passing (GMP) and the Interchain Token Service (ITS). Connects 70+ EVM, Cosmos, Sui, Stellar, and Solana chains with arbitrary contract calls and unified token transfers.

02Best for
  • 01cross-chain contract calls (GMP)
  • 02deploying canonical multichain ERC20s (ITS)
  • 03Cosmos <-> EVM messaging
  • 04validator-secured (PoS) bridge security model
  • 05unified token transfers without bespoke bridges
03Install
  • pnpm add @axelar-network/axelarjs-sdk @axelar-network/axelar-gmp-sdk-solidity
  • pnpm add @axelar-network/interchain-token-service
04Environment variables
VariableScopeDescription
AXELAR_ENVIRONMENTClient`mainnet` or `testnet` — selects the AxelarQueryAPI / AxelarAssetTransfer endpoints and gateway addresses.
05Prompt snippet
For GMP, inherit `AxelarExecutable` from `@axelar-network/axelar-gmp-sdk-solidity`, call `gateway.callContract(destinationChain, destinationAddress, payload)` after paying `gasService.payNativeGasForContractCall{value: gasFee}(...)` (quote `gasFee` via AxelarJS SDK `AxelarQueryAPI.estimateGasFee`). Implement `_execute(commandId, sourceChain, sourceAddress, payload)` on the destination contract — Axelar validators relay automatically. For canonical token deployments use ITS: call `InterchainTokenFactory.deployInterchainToken` to register on the home chain, then `deployRemoteInterchainToken(destChain)` for each spoke. Use AxelarJS `AxelarGMPRecoveryAPI.queryTransactionStatus(txHash)` to poll status and `manualRelayToDestChain` if a tx gets stuck. Chain identifiers are STRINGS (e.g. `'Ethereum'`, `'Polygon'`, `'osmosis'`), not chain IDs.
06Gotchas
  • Axelar identifies chains by STRING name (case-sensitive: `'Ethereum'`, `'Avalanche'`, `'osmosis'`). Mixing case or using EVM chain IDs is the #1 integration bug.
  • Always pre-pay gas via `AxelarGasService.payNativeGasForContractCall` BEFORE `gateway.callContract` (or atomically in the same tx). Skipping it leaves the message stuck pending manual relay.
  • AxelarJS SDK is pinned to ethers v5 — interop with viem or ethers v6 requires manual contract calls or a wrapper.
  • Gas estimates from `estimateGasFee` are conservative but can still under-pay during congestion; either over-pay 20% or implement a top-up via `addNativeGas`.
  • ITS token deployments are NOT atomic across chains — register on the home chain first, then deploy to each spoke; failures need manual recovery via the ITS portal.
  • Validator quorum delays add ~30s–2min finality on top of source-chain confirmations; never block UI on completion, surface the destination tx hash when relayed.
  • Cosmos / Sui / Solana spokes have their own SDKs and call patterns — the EVM `AxelarExecutable` interface does not translate.
07Alternatives