The Nexus module is the backbone of Axelar’s interoperability protocol. It maintains a registry of all supported chains, routes cross-chain messages and asset transfers between them, tracks transfer states, and manages the set of validator maintainers responsible for each external chain. Every asset transfer and general message that moves through Axelar passes through this module.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/axelarnetwork/axelar-core/llms.txt
Use this file to discover all available pages before exploring further.
Chain Registry
Maintains the canonical list of active and inactive chains, including EVM, IBC Cosmos, and CosmWasm chains.
Message Routing
Routes
GeneralMessage objects from source chains to destination chains via registered MessageRoute handlers.Asset Management
Registers assets on chains, tracks cross-chain transfer states, and manages fee configuration per chain/asset pair.
Chain Maintainers
Tracks which bonded validators maintain each external chain, enforcing participation thresholds to ensure liveness.
Key Concepts
Chain
AChain represents any blockchain network registered with Axelar. Each chain has a unique name, an associated module (e.g., evm, axelarnet), and a key type.
CrossChainAddress
ACrossChainAddress pairs a chain with a native address string on that chain:
CrossChainTransfer
ACrossChainTransfer records a pending or completed asset transfer including a unique TransferID, a CrossChainAddress recipient, a sdk.Coin asset, and a TransferState.
TransferState
Transfers move through the following states:| State | Description |
|---|---|
TRANSFER_STATE_PENDING | Queued but not yet executed |
TRANSFER_STATE_ARCHIVED | Successfully completed |
TRANSFER_STATE_INSUFFICIENT_AMOUNT | Rejected because the transferred amount did not cover the minimum fee |
TRANSFER_STATE_FAILED | Transfer failed during execution |
GeneralMessage
AGeneralMessage is an arbitrary cross-chain payload — for example, a GMP call from an EVM chain. The Nexus module routes it to the correct destination module via a registered MessageRoute.
FeeInfo
Fees are registered per chain-asset pair with a rate, minimum, and maximum:Message Routing Flow
When a cross-chain message is created on a source chain, Nexus processes it as follows:- The source chain module (EVM or axelarnet) submits the
GeneralMessageto Nexus. - Nexus looks up the destination chain and retrieves the registered
MessageRoute. - If the route exists, the message is dispatched to the destination module’s handler.
- On success the message is marked
APPROVED; on failure it transitions toFAILEDand can be retried.
Failed general messages can be retried using
axelard tx nexus retry-failed-message [id]. This re-invokes the routing logic without requiring a new source-chain event.Chain Registration & Maintainers
Chains are registered at genesis or via governance. Once registered, bonded validators can opt in as chain maintainers — they are responsible for monitoring and voting on that chain’s events.Activate / Deactivate Chains
Governance or authorized accounts can activate and deactivate chains:Asset Fee Registration
Register or update the fee schedule for an asset on a specific chain:Module Parameters
Nexus Parameters
Nexus Parameters
Fraction of voting power required to activate a chain. Default:
55/100.Fraction of missed votes within the check window before a maintainer is penalized. Default:
20/100.Fraction of incorrect votes within the check window before a maintainer is penalized. Default:
15/100.Number of recent blocks used to evaluate maintainer vote quality. Default:
500.Bech32 address of the Axelar Gateway account used for on-chain fee collection. Empty by default.
Maximum number of pending transfers processed per block in the end blocker. Default:
50.