axelar

Implement Axelar cross-chain messaging and interchain token transfers with GMP and ITS.

6|20|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/andresdefi/cryptoskills --skill axelar-andresdefi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: axelar
Source: https://github.com/andresdefi/cryptoskills/tree/main/skills/axelar
Command: npx skills add https://github.com/andresdefi/cryptoskills --skill axelar-andresdefi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents frequently produce incorrect Axelar integrations: using numeric chain IDs instead of string chain names, skipping mandatory upfront gas payments, overriding the wrong callback, or confusing Gateway token transfers with Interchain Token Service deployments. These mistakes cause messages that never execute, lost gas refunds, or unlinked multichain tokens. ## Core Features & Use Cases - General Message Passing (GMP): Send arbitrary contract calls cross-chain via the Gateway contract, with correct gas prepayment through AxelarGasService and trusted-remote validation in the _execute() callback. - Interchain Token Service (ITS): Deploy canonical multichain tokens with deterministic tokenIds, extend them to new chains, and transfer them cross-chain with burn-on-source/mint-on-destination semantics. - Gas Estimation & Recovery: Estimate cross-chain fees via the Axelar SDK or REST API, add gas to underfunded messages, and manually relay stuck transactions. - Use Case: Deploy a cross-chain messenger on Ethereum and Arbitrum, register trusted remotes, estimate gas for the route, send a message, and track its delivery status on Axelarscan until execution. ## Quick Start Ask the agent to write an AxelarExecutable contract that sends a GMP message from Ethereum to Arbitrum with proper gas payment and trusted remote validation.

Frequently Asked Questions about axelar

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a cross-chain message with Axelar GMP?

Call AxelarGasService.payNativeGasForContractCall with native tokens first, then call gateway.callContract with the destination chain name, address string, and payload. The receiving contract inherits AxelarExecutable and overrides _execute to handle the message.

What is the difference between Axelar ITS and Gateway token transfers?

Gateway callContractWithToken moves Axelar-wrapped assets like axlUSDC that are registered in the Gateway. ITS deploys canonical tokens that burn on the source chain and mint on the destination with a deterministic tokenId, suited for new multichain token deployments.

Why is my Axelar message confirmed but never executed on the destination chain?

The most common cause is missing or insufficient gas payment on the source chain. Check for the GasPaidForContractCall event in the source transaction, add gas with addNativeGas if underfunded, or use manualRelayToDestChain from the Axelar SDK.

Can I use numeric EVM chain IDs with Axelar?

No. Axelar uses lowercase string chain names like "ethereum", "arbitrum", and "base", not numeric chain IDs like 1 or 42161. Passing a numeric ID routes the message to a nonexistent chain and it will never execute.

How do I deploy a token on multiple chains with Axelar ITS?

Call InterchainTokenFactory.deployInterchainToken on the origin chain with a salt, then deployRemoteInterchainToken for each target chain with gas payment. Use the same deployer address and salt on every chain so the tokenIds link correctly.

Why does my _execute callback revert on the destination chain?

Common causes are a missing trusted remote entry, payload encoding that does not match the decoding types, or an insufficient gas limit. Verify the trustedRemotes mapping, match abi.encode and abi.decode parameter order, and raise the gas estimate.