Skip to main content

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.

Getting Axelar Core up and running requires three things: the axelard binary, the EVM gateway smart-contract bytecode, and a minimal node configuration. This guide walks through every approach — building from source (dynamic and static), downloading a pre-built release binary with GPG verification, and using the official Docker image — so you can choose the path that best fits your environment.
For a release build, check out the corresponding release tag first:
git checkout vX.Y.Z
All build commands below must be run from the repository root.

Prerequisites

  • Go 1.25+ (required for source builds)
  • Docker (required for make build-static and make docker-image)
  • Git and standard build tools (make, gcc)
  • GPG (required if verifying a downloaded binary)

Option 1: Build from Source

1

Clone the repository

git clone https://github.com/axelarnetwork/axelar-core.git
cd axelar-core
2

Satisfy the smart-contract bytecode dependency

The EVM module requires compiled gateway contract bytecode from the axelar-cgp-solidity repository before the project can be built or run locally.
  1. Check the required bytecode version:
    cat contract-version.json
    
  2. Download the matching release from axelar-cgp-solidity releases — for example, Bytecode-v4.3.0.zip.
  3. Unzip the JSON files into the contract-artifacts/ directory:
    unzip Bytecode-v4.3.0.zip -d contract-artifacts/
    
  4. Generate the Go contract bindings:
    make generate
    
    This produces x/evm/types/contracts.go from the bytecode artifacts.
3

Build the binary

4

Verify the build

./bin/axelard version
The output should display the version, commit hash, and build tags (e.g., ledger, muslc).

Option 2: Download and Verify a Release Binary

Pre-built binaries are published on the Axelar Core releases page. Each binary is signed with Axelar’s GPG key and should be verified before use.
1

Download the binary and signature file

Visit the releases page and download:
  • The axelard binary for your OS and architecture (e.g., axelard-linux-amd64-v0.34.3)
  • The corresponding .asc signature file (e.g., axelard-linux-amd64-v0.34.3.asc)
2

Import Axelar's public GPG key

curl https://keybase.io/axelardev/pgp_keys.asc | gpg --import
3

Trust the imported key

Enter GPG interactive mode for Axelar’s key fingerprint 5D9FFADEED11FA5D:
gpg --edit-key 5D9FFADEED11FA5D
At the gpg> prompt, type trust, select option 5 (I trust ultimately), confirm with y, then type quit.
4

Verify the binary signature

gpg --verify axelard-linux-amd64-v0.34.3.asc axelard-linux-amd64-v0.34.3
A successful verification produces output like:
Good signature from "Axelar Network Devs <eng@axelar.network>" [ultimate]
Do not use the binary if the signature check fails or shows BAD signature. Discard the file and re-download from the official releases page.
5

Make the binary executable

chmod +x axelard-linux-amd64-v0.34.3
mv axelard-linux-amd64-v0.34.3 /usr/local/bin/axelard
axelard version

Option 3: Docker Image

1

Build the Docker image

make docker-image
This creates the image axelar/core:latest. For a debug image with Delve support:
make docker-image-debug
This creates axelar/core-debug:latest.
2

Run the node in Docker

docker run -it --rm \
  -v "$HOME/.axelar:/root/.axelar" \
  axelar/core axelard start
Mount a host directory for persistent state so chain data survives container restarts.

Initializing and Starting the Node

Once you have the axelard binary available, initialize and start the node:
1

Initialize the node

Replace my-node with a human-readable moniker that identifies your node on the network:
axelard init my-node --chain-id axelar-dojo-1
This creates a default configuration and genesis template under ~/.axelar/:
~/.axelar/
├── config/
│   ├── app.toml
│   ├── config.toml
│   └── genesis.json
└── data/
2

Download the genesis file and seeds

Obtain the genesis.json and peer addresses for the network you are joining. For the Axelar mainnet:
# Replace with the current mainnet genesis and seed list from the Axelar docs
curl -o ~/.axelar/config/genesis.json \
  https://raw.githubusercontent.com/axelarnetwork/axelar-chains-config/main/info/mainnet/genesis.json
Refer to the Axelar documentation for the current canonical genesis file URL and seed node list for each network (mainnet, testnet).
3

Start the node

axelard start
To see all available flags:
axelard start --help
Common options:
axelard start \
  --home ~/.axelar \
  --log_level info \
  --p2p.seeds "node-id@host:26656"
4

(Validators) Start the vald sidecar

Validators must also run the vald process, which subscribes to CometBFT events and submits cross-chain confirmation votes. Run it in a separate terminal after the node is synced:
axelard vald-start \
  --validator-addr axelarvaloper1... \
  --tofnd-host localhost \
  --tofnd-port 50051 \
  --from broadcaster
vald connects to the tofnd threshold-signing daemon over gRPC. Ensure tofnd is running and reachable before starting vald. See the Architecture page for the full component topology.

Interacting with the Node

With a node running, use the axelard CLI to query state or submit transactions:
# Check node status
axelard status

# Query connected chains
axelard query nexus chains

# Query EVM chain info
axelard query evm chains

# Get help for any subcommand
axelard tx --help
axelard query --help
For the full list of available CLI commands, see the CLI Reference or run axelard <command> --help after building the binaries.

API Documentation

To browse in-code Go documentation locally:
# Install godoc if not already installed
GO111MODULE=off go install -u golang.org/x/tools/cmd/godoc

# Start the documentation server on port 8080
godoc -http ":8080" -index
Browse to http://localhost:8080/pkg/github.com/axelarnetwork/axelar-core. The -index flag makes the documentation full-text searchable.

Build docs developers (and LLMs) love