Notes
- Uses chain name strings for destination (e.g. “ethereum”, “arbitrum”, “Polygon”) — NOT chain IDs
sendToken: Simple token transfer.callContract: GMP message.callContractWithToken: Both- GMP calls require pre-paying gas via GasService or including gasValue in ITS calls
- ITS (Interchain Token Service) enables native cross-chain tokens without wrapping
- Same ITS address (
0xB5FB...) across all chains tokenAddresses(symbol)to look up the local address of an Axelar-supported token- Finality: typically 2-5 minutes depending on source chain
Its names in a program
On Ethereum,Axelar is a namespace: its contracts need no import.
Deployments
ABI
AxelarGasServiceABI
import AxelarGasServiceABI from "./protocols/axelar/AxelarGasServiceABI.json"; Speaks for: gasService.
payNativeGasForContractCall(address sender, string destinationChain, string destinationAddress, bytes payload, address refundAddress) payable
AxelarGatewayABI
import AxelarGatewayABI from "./protocols/axelar/AxelarGatewayABI.json"; Speaks for: gateway.
callContract(string destinationChain, string contractAddress, bytes payload)callContractWithToken(string destinationChain, string contractAddress, bytes payload, string symbol, uint256 amount)sendToken(string destinationChain, string destinationAddress, string symbol, uint256 amount)tokenAddresses(string symbol) view returns (address)
AxelarITSABI
import AxelarITSABI from "./protocols/axelar/AxelarITSABI.json"; Speaks for: its.
interchainTransfer(bytes32 tokenId, string destinationChain, bytes destinationAddress, uint256 amount, bytes metadata, uint256 gasValue) payable
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
