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
#validatorsand#validator-announcementschannels 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:
- Cosmovisor (Recommended) - Automatic upgrade
- 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.
Option 1: Upgrade Using Cosmovisor (Recommended)
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:
Verify installation:
DAEMON_NAME=akash DAEMON_HOME=~/.akash cosmovisor versionStep 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 cosmovisorRequires=network-online.targetAfter=network-online.target
[Service]User=rootGroup=rootExecStart=/root/go/bin/cosmovisor run start
Restart=alwaysRestartSec=10LimitNOFILE=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.targetImportant Environment Variables:
DAEMON_ALLOW_DOWNLOAD_BINARIES=false- It’s recommended to manually place the binary (set totruefor auto-download)UNSAFE_SKIP_BACKUP=true- Set tofalseif you want automatic backup before upgradeDAEMON_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:
sudo systemctl daemon-reloadsudo systemctl restart akashsudo systemctl enable akashCheck status:
sudo systemctl status akashStep 3: Download Precompiled Binary (Recommended)
Note: Skip this step if you have enabled
DAEMON_ALLOW_DOWNLOAD_BINARIES=truein 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:
# Create the upgrade directorymkdir -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 executablechmod +x $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash
# Verify the version$HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akash versionExpected output: v1.1.0
Step 5: Wait for Upgrade
At the proposed block height (24,332,547), Cosmovisor will automatically:
- Stop the current binary (v1.0.0)
- Set the upgrade binary as the new current binary (v1.1.0)
- Restart the node
Monitor the upgrade:
# Watch logssudo journalctl -u akash -f
# Check sync status after upgradeakash 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):
sudo systemctl stop akash3. 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:
akash version# Should output: v1.1.05. Restart your node:
sudo systemctl start akash6. Monitor sync status:
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:
| Dependency | Minimum Version | Notes |
|---|---|---|
| golang | >= 1.25.4 | Required for compiling Go code |
| direnv | latest | Environment management - direnv.net |
| docker | latest | Required for containerized builds |
| make | latest | Build automation |
| git | latest | Version control |
| jq | latest | JSON processing |
| unzip | latest | Archive extraction |
| wget | latest | File downloads |
| curl | latest | HTTP requests |
| npm | latest | JavaScript package management |
| readlink | latest | Path resolution |
| lz4 | latest | Compression |
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 contentIf 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
# Clone the repositorygit clone https://github.com/akash-network/node.git
# Navigate to the directorycd node
# Checkout the release taggit checkout v1.1.0
# Allow direnv to set up the environmentdirenv allow
# Build the release binarymake releaseBuild 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
.cache/goreleaser/main/<YOUR_OS_ARCH>/akash version# Should output: v1.1.0Using the Built Binary
For Cosmovisor:
mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.1.0/bincp .cache/goreleaser/main/<YOUR_OS_ARCH>/akash $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akashchmod +x $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akashFor 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
akash status | jq '.sync_info'Important fields:
catching_up: false- Node is syncedlatest_block_height- Current block (should be > 24,332,547)
Check Binary Version
akash versionExpected output: v1.1.0
Check Validator Status
akash query staking validator <your-validator-address>Verify:
jailed: falsestatus: BOND_STATUS_BONDED(if in active set)
Troubleshooting
Node Not Starting After Upgrade
Check logs:
sudo journalctl -u akash -n 100 --no-pagerCommon 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:
akash status | jq '.node_info.other.peers'If low peer count, add peers from:
Cosmovisor Not Upgrading
Verify upgrade binary exists:
ls -la $HOME/.akash/cosmovisor/upgrades/v1.1.0/bin/akashCheck Cosmovisor logs:
sudo journalctl -u akash -fCommon issues:
- Upgrade binary not in correct location
- Binary not executable
DAEMON_ALLOW_DOWNLOAD_BINARIESset incorrectly
Additional Resources
- GitHub: akash-network/node
- Block Explorer: Mintscan | ATOMScan | Arcturian
- Discord: #validators channel
- Network Info: akash-network/net
Need Help?
- Discord: #validators channel
- GitHub Issues: akash-network/node/issues