Mainnet 15 - Akash v1.1.0

Upgrade guide for Akash Network Mainnet 15 upgrade to v1.1.0.

This guide provides step-by-step instructions for upgrading your node to Akash v1.1.0 using both Cosmovisor (recommended) and manual upgrade methods.


Upgrade Details

Upgrade Information:

  • Upgrade Name: Mainnet15
  • Binary Version: v1.1.0
  • Block Height: 24,332,547
  • Estimated Time: Monday, November 24th, 2025 at 14:10 UTC
  • Expected Duration: 10-15 minutes of network downtime
  • Binary Release: Available approximately 10 hours before the upgrade
  • Binary Links: GitHub Releases

Note: Block times have high variance. Please monitor the block countdown for more precise timing estimates.


Validator Expectations

To ensure a network upgrade with minimal downtime, Akash Validators should be available as follows:

Timeline:

  • One hour prior to upgrade - Available and monitoring the Akash Discord server’s #validators and #validator-announcements channels for any late-breaking guidance
  • During upgrade window - Available throughout the expected 10-15 minutes of network downtime
  • One hour post upgrade - Available and monitoring Discord channels for any possible revised strategies or updates deemed necessary

Emergency Coordination

In the event of issues during the upgrade, coordinate via the #validators channel in Discord to reach emergency consensus and mitigate problems quickly.

Discord: discord.akash.network


Hardware Requirements

This upgrade does not carry significant state changes and is relatively lightweight.

Recommended Specifications:

  • RAM: 64 GB minimum (with swap enabled)
  • CPU: 8+ cores recommended
  • Storage: Sufficient space for blockchain data (1 TB+ recommended)

Upgrade Process

Two upgrade methods are available:

  1. Cosmovisor (Recommended) - Automatic upgrade
  2. Manual - Manual binary replacement

Choose the method that best suits your setup. Full upgrade details and coordination can be found via the Akash Discord #validators channel.


The following instructions assume the akash and cosmovisor binaries are already installed and Cosmovisor is set up as a systemd service.

Note: Cosmovisor v1.5.0 or higher is required.

Validators supervised by Cosmovisor with DAEMON_ALLOW_DOWNLOAD_BINARIES=true will automatically download upgrade binaries from the upgrade info file.

Step 1: Configure Cosmovisor

Note: Skip this step if Cosmovisor v1.5.0+ is already installed and configured.

Install Cosmovisor:

Terminal window
go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]

Verify installation:

Terminal window
DAEMON_NAME=akash DAEMON_HOME=~/.akash cosmovisor version

Step 2: Configure Systemd Service

Update your Cosmovisor systemd service file with the following recommended settings:

Create/edit /etc/systemd/system/akash.service:

[Unit]
Description=Akash with cosmovisor
Requires=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/root/go/bin/cosmovisor run start
Restart=always
RestartSec=10
LimitNOFILE=4096
Environment="DAEMON_NAME=akash"
Environment="DAEMON_HOME=/root/.akash"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="DAEMON_SHUTDOWN_GRACE=15s"
[Install]
WantedBy=multi-user.target

Important Environment Variables:

  • DAEMON_ALLOW_DOWNLOAD_BINARIES=false - It’s recommended to manually place the binary (set to true for auto-download)
  • UNSAFE_SKIP_BACKUP=true - Set to false if you want automatic backup before upgrade
  • DAEMON_SHUTDOWN_GRACE=15s - Grace period for cleanup before shutdown

Note: It’s preferable to run the service under a dedicated non-system user other than root.

Reload and restart:

Terminal window
sudo systemctl daemon-reload
sudo systemctl restart akash
sudo systemctl enable akash

Check status:

Terminal window
sudo systemctl status akash

Note: Skip this step if you have enabled DAEMON_ALLOW_DOWNLOAD_BINARIES=true in your Cosmovisor configuration.

Download the Akash v1.1.0 binary for your platform from the GitHub releases page.

Select your platform:

  • Linux AMD64
  • Linux ARM64
  • macOS Intel
  • macOS Apple Silicon

If you need to build from source instead, see Build Binary From Source.

Step 4: Prepare Upgrade Binary

Create the folder for the upgrade and copy the binary:

Terminal window
# Create the upgrade directory
mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin
# Copy the downloaded binary (adjust path to your download location)
cp /path/to/downloaded/akash $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash
# Make it executable
chmod +x $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash
# Verify the version
$HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash version

Expected output: v1.1.0

Step 5: Wait for Upgrade

At the proposed block height (24,332,547), Cosmovisor will automatically:

  1. Stop the current binary (v1.0.0)
  2. Set the upgrade binary as the new current binary (v1.1.0)
  3. Restart the node

Monitor the upgrade:

Terminal window
# Watch logs
sudo journalctl -u akash -f
# Check sync status after upgrade
akash status | jq '.sync_info.catching_up'

Option 2: Manual Upgrade Without Cosmovisor

Using Cosmovisor to perform the upgrade is not mandatory. Node operators can manually update the akash binary at the time of the upgrade.

Warning: Do NOT replace the binary before the upgrade height, as this will stop your node.

Manual Upgrade Steps

1. Wait for the chain to halt at block height 24,332,547

2. Stop your node (if not already stopped):

Terminal window
sudo systemctl stop akash

3. Install the new binary:

Either download the precompiled binary from GitHub releases or build from source (see Build Binary From Source).

4. Verify the binary version:

Terminal window
akash version
# Should output: v1.1.0

5. Restart your node:

Terminal window
sudo systemctl start akash

6. Monitor sync status:

Terminal window
akash status | jq '.sync_info.catching_up'

Expected: false when fully synced


Build Binary From Source

Note: We highly recommend downloading a precompiled Akash binary over building from source. Only use this method if precompiled binaries are not available for your platform or if you have specific requirements.

Prerequisites

Ensure the following dependencies are installed before building:

DependencyMinimum VersionNotes
golang>= 1.25.4Required for compiling Go code
direnvlatestEnvironment management - direnv.net
dockerlatestRequired for containerized builds
makelatestBuild automation
gitlatestVersion control
jqlatestJSON processing
unziplatestArchive extraction
wgetlatestFile downloads
curllatestHTTP requests
npmlatestJavaScript package management
readlinklatestPath resolution
lz4latestCompression

Direnv Setup

If using direnv for the first time, you should see the following message after entering the source directory:

direnv: error .envrc is blocked. Run `direnv allow` to approve its content

If you don’t see this message, direnv is likely not hooked to your shell. Visit direnv.net for installation and shell integration instructions.

Build Steps

Terminal window
# Clone the repository
git clone https://github.com/akash-network/node.git
# Navigate to the directory
cd node
# Checkout the release tag
git checkout v1.1.0
# Allow direnv to set up the environment
direnv allow
# Build the release binary
make release

Build Output

After the build completes successfully, binaries will be located in .cache/goreleaser/main.

The directory structure will look like:

.cache/goreleaser/main/
├── darwin_amd64_v1/
│ └── akash
├── darwin_arm64/
│ └── akash
├── linux_amd64_v1/
│ └── akash
├── linux_arm64/
│ └── akash
└── ... (other platforms)

Verify the Build

Terminal window
.cache/goreleaser/main/<YOUR_OS_ARCH>/akash version
# Should output: v1.1.0

Using the Built Binary

For Cosmovisor:

Terminal window
mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin
cp .cache/goreleaser/main/<YOUR_OS_ARCH>/akash $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash
chmod +x $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash

For manual upgrade:

Copy the binary to your system path or use it directly when the upgrade height is reached.


Verification After Upgrade

Check Node Status

Terminal window
akash status | jq '.sync_info'

Important fields:

  • catching_up: false - Node is synced
  • latest_block_height - Current block (should be > 24,332,547)

Check Binary Version

Terminal window
akash version

Expected output: v1.1.0

Check Validator Status

Terminal window
akash query staking validator <your-validator-address>

Verify:

  • jailed: false
  • status: BOND_STATUS_BONDED (if in active set)

Troubleshooting

Node Not Starting After Upgrade

Check logs:

Terminal window
sudo journalctl -u akash -n 100 --no-pager

Common issues:

  • Binary not executable: chmod +x /path/to/akash
  • Wrong binary version: Verify with akash version
  • Permission issues: Check user/group settings in systemd service

Node Out of Sync

Check peer connections:

Terminal window
akash status | jq '.node_info.other.peers'

If low peer count, add peers from:

Cosmovisor Not Upgrading

Verify upgrade binary exists:

Terminal window
ls -la $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash

Check Cosmovisor logs:

Terminal window
sudo journalctl -u akash -f

Common issues:

  • Upgrade binary not in correct location
  • Binary not executable
  • DAEMON_ALLOW_DOWNLOAD_BINARIES set incorrectly

Additional Resources


Need Help?


footer-logo-dark

© Akash Network 2025 The Akash Network Authors Documentation Distributed under CC BY 4.0

Open-source Apache 2.0 Licensed.

GitHub v0.38.2

Privacy