Launch a Metal blockchain validator node in minutes on Akash's decentralized cloud for a fraction of traditional VPS costs. Metal blockchain, developed by Metallicus, powers a compliant Digital Asset Banking Network connecting traditional finance with blockchain technology for regulated institutions.
Before deploying, ensure you have:
- Akash wallet with AKT tokens (for deployment costs)
- Metal wallet with 2,000+ METAL tokens (for mainnet staking)
- Access to Akash Console (no CLI required)
- 5-10 minutes for deployment and bootstrap
Mainnet: Approximately $5-15/month on Akash Network (varies by provider and market conditions)
- Go to Akash Console
- Click "Deploy" → "Upload SDL"
- Upload
deploy.yamlfrom this repository - Deploy and wait 5-10 minutes
GitHub Raw URL:
https://raw.githubusercontent.com/VirgilBB/Metal-Validator/main/deploy.yaml
The template requires a two-step deployment:
Deploy the deploy.yaml to trigger LoadBalancer IP assignment. Wait 1-2 minutes for the IP to appear.
- In Akash Console → Your Deployment → "IP(s)" field, copy your assigned IP
- Click "Update" on your deployment
- Find the
METAL_PUBLIC_IPenvironment variable - Enter your LoadBalancer IP with port
- Example:
METAL_PUBLIC_IP=http://203.45.67.89:9650
- Example:
- Click "Update" to save
Why two steps? The LoadBalancer IP is assigned after deployment, so we update the configuration once the IP is available.
Important: Update promptly after getting your IP—don't wait too long between deployments.
The deployment shows different output based on the deployment phase:
After the first deployment, you'll see:
========================================
METAL MAINNET VALIDATOR - INITIAL SETUP
========================================
✅ Node is running
✅ Connected to 167 peers
✅ Network: Metal Mainnet
Next steps:
1. Go to Akash Console → Leases tab → Copy the IP address
(Example format: 203.45.67.89:9650)
2. Update deployment: METAL_PUBLIC_IP=http://YOUR-IP-HERE:9650
(Replace YOUR-IP-HERE with your actual IP from step 1)
⚠️ No IP assigned? Redeploy on a different provider.
⚠️ IMPORTANT: Complete step 2 to finalize setup
========================================
Note: No Node ID is shown yet. Complete the IP update first.
After updating with your LoadBalancer IP, you'll see the full validator data:
========================================
METAL MAINNET VALIDATOR - SETUP DATA
========================================
⚠️ SAVE THIS DATA NOW ⚠️
Node ID
NodeID-EmAczyoApADhjs4XAkodTKcrSLyjHNvSG
Proof of Possession - Public Key
0xa71852d4ddc0264781181e2f34991b25f0777d15f867219b5dc1b76244d0cda9b3c408d0e6496f9ab3bbb95255c31e82
Proof of Possession - Signature
0x8981dc303bab3a634f27f288313e801d1f9da065713f6e10817a7c248d0e39878a534d2b04217af834562d587be3507f0d006c7c8aab9343af8531b91ab9b0ca9b0d919135c1bcc478ea4742d16fcc4a1f54c99b27b319ed2e16646f963994ff
Public IP
184.105.162.180:9650
Note: Save this IP for Grafana monitoring template
Register your validator: https://wallet.metalblockchain.org/
========================================
VERIFICATION
========================================
✅ Node is operational
✅ Connected to 167 peer(s)
✅ Good connectivity (50+ peers)
✅ IP configured: 184.105.162.180:9650
(Verify this matches your IP in Akash Console → Leases → IP(s))
========================================
Copy all three pieces of data:
- Node ID
- Proof of Possession - Public Key
- Proof of Possession - Signature
All three are required to register your validator on the Metal Wallet Dashboard.
Also save the Public IP for Grafana monitoring template.
Important: Use the Node ID, Public Key, and Signature from logs AFTER the IP update completes. The Node ID may change after the IP update, so always use the final values.
After the IP update, your logs will show a status update every 20 minutes with your validator credentials. You can always find your Node ID, Public Key, Signature, and Public IP in recent logs.
- In Akash Console → Your Deployment → Shell tab
- Run this command:
curl -s https://raw.githubusercontent.com/VirgilBB/Metal-Validator/main/metal-node-recovery/backup-node.sh | bash- Copy and securely save the base64 backup string that appears
- Store it somewhere safe (encrypted password manager, secure note, etc.)
That's it. If you ever need to recover your validator, contact [email protected] with your backup string.
Security: Your backup contains your staking keys—keep it secure and never share it publicly.
- Dedicated IP Support: Uses endpoints with
kind: ipfor optimal P2P connectivity - Advanced IP Detection: Multi-method IP detection (Kubernetes API → Environment Variables → External Services)
- Manual IP Override: Set
METAL_PUBLIC_IPenvironment variable if auto-detection fails - File Descriptor Limits: Increased to 65536 to prevent "too many open files" errors
- Bootstrap Detection: Waits for blockchain to fully bootstrap before reporting success
Node shows "Not connected" in explorer
Complete the two-step deployment process. Set METAL_PUBLIC_IP to your LoadBalancer IP in Akash Console → Update deployment.
"too many open files" errors
The template includes ulimit -n 65536 to prevent this issue.
0 peers connected
Ensure you completed the two-step process and set the correct LoadBalancer IP in METAL_PUBLIC_IP.
Initial Node ID changes after update
This is normal. Use the final Node ID, Public Key, and Signature from logs AFTER the IP update completes.
No IP assigned in Leases tab
Redeploy on a different provider.
- Direct Support: Email [email protected]
- Issues? Open an issue in this repository
- Questions? Join Akash Discord
- Metal Support? Join Metal Discord
Deploy, copy your validator data, register on Metal dashboard, and start earning rewards!
