axelar

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @axelar-network/axelar-gmp-sdk-solidity, @axelar-network/axelarjs-sdk, @openzeppelin/contracts, viem, and includes references (resource) components.

What problem does it solve? AI agents frequently produce incorrect Axelar integrations: using numeric chain IDs instead of Axelar's string chain names, skipping mandatory upfront gas payment, overriding the wrong callback, or confusing Gateway token transfers with Interchain Token Service deployments. These mistakes cause messages that are never executed, lost gas refunds, or unlinked multichain tokens. ## Core Features & Use Cases - General Message Passing (GMP): Send arbitrary contract calls across chains using the Gateway, GasService, and AxelarExecutable pattern with trusted-remote validation. - Interchain Token Service (ITS): Deploy canonical multichain tokens via the Interchain Token Factory and transfer them cross-chain with burn-on-source/mint-on-destination semantics. - Gas Estimation & Recovery: Estimate cross-chain fees with the Axelar SDK or REST API, add gas to underfunded transactions, and manually relay stuck messages. - Use Case: Deploy a GMP receiver on Ethereum and Arbitrum, register trusted remotes, pay gas via AxelarGasService, and track delivery on Axelarscan until the destination _execute() callback fires. ## Quick Start Ask the agent to write a Solidity contract that sends a GMP message from Ethereum to Arbitrum using Axelar, including 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 must inherit AxelarExecutable and override _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, making it the right choice for new multichain tokens.

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 more gas with addNativeGas, 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 for the source chain, 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.