Censorship-resistant podcast. Bookmark our alternative access methods in case this domain goes down.

Revolution Now

Arweave Troubleshooting

Common issues with permanent archival on Arweave.

Upload failed: Transaction rejected

Arweave nodes can reject transactions for several reasons:

  • Insufficient balance — your wallet doesn't have enough AR to cover data + miner reward
  • Data too large for single transaction — transactions above ~12 MB may be rejected by some nodes
  • Wallet key format error — the JWK file is malformed or from a different chain
Diagnose
# Check your wallet balance
arweave-js:
  const arweave = Arweave.init({ host: 'arweave.net', port: 443, protocol: 'https' });
  const balance = await arweave.wallets.getBalance(address);
  console.log(arweave.ar.winstonToAr(balance), 'AR');

# With arkb, check balance before upload
arkb balance --wallet ./wallet.json

# For large files, use Irys (formerly Bundlr) which handles chunking:
irys upload large-file.mp3 -h https://node1.irys.xyz -t arweave -w ./wallet.json
Insufficient funds / need AR tokens

Arweave storage costs are very low but not zero. Current pricing is roughly ~$1–5 per GB stored permanently.

Ways to get AR tokens:

  • Buy on exchanges: AR is on Binance, Crypto.com, Gate.io, KuCoin. Transfer to your ArConnect wallet.
  • Use Irys to pay with ETH/SOL: Irys lets you pay for Arweave storage with other tokens, no AR needed.
  • ArDrive Turbo Credits: Pay with a credit card via ArDrive for storage credits.
Pay with ETH via Irys
# Fund your Irys balance with ETH
irys fund 10000000000000000 -h https://node1.irys.xyz -t ethereum -w your_eth_private_key
# (that's 0.01 ETH in wei — enough for ~200 MB)

# Check your funded balance
irys balance YOUR_ETH_ADDRESS -h https://node1.irys.xyz -t ethereum
Transaction pending / stuck for hours

Arweave confirmations take time. A transaction is not final until it is mined into a block and receives sufficient confirmations.

  • Normal wait time: 5–30 minutes for the first confirmation
  • Full confirmation: ~50 blocks (~100 minutes) for finality
  • Network congestion: Can increase wait times significantly
Check transaction status
# Check status via gateway
curl https://arweave.net/tx/YOUR_TRANSACTION_ID/status

# Response statuses:
# "pending" — in the mempool, waiting to be mined
# 200 with JSON — confirmed, includes block height
# 404 — not found (may have been dropped)

# Check on ViewBlock explorer:
# https://viewblock.io/arweave/tx/YOUR_TRANSACTION_ID

If stuck "pending" for over 2 hours, the transaction may have been dropped. Try re-uploading — you won't be charged for a dropped transaction.

ArConnect wallet not connecting

ArConnect is the main browser wallet for Arweave:

ArConnect troubleshooting
# 1. Make sure the extension is installed and unlocked
#    Check: chrome://extensions (or about:addons in Firefox)

# 2. Check if the site has permission
#    Click ArConnect icon → Settings → Apps → check permissions

# 3. Try disconnecting and reconnecting
#    ArConnect icon → Connected Apps → Remove → Reconnect

# 4. If ArConnect API isn't detected in your dApp:
if (!window.arweaveWallet) {
  console.log('ArConnect not detected');
  // Wait for the extension to inject (it can be slow)
  window.addEventListener('arweaveWalletLoaded', () => {
    console.log('ArConnect is now available');
  });
}

Common fix: Disable other wallet extensions that might conflict (MetaMask, Phantom). Some extensions override the same browser APIs.

arkb deploy fails or shows errors
Common arkb errors and fixes
# Error: "Not enough funds"
# Fix: Check your balance and fund the wallet
arkb balance --wallet ./wallet.json

# Error: "ENOENT: no such file or directory"
# Fix: Make sure you're in the correct directory
# arkb deploy expects a folder path
arkb deploy ./out --wallet ./wallet.json

# Error: "Invalid key file"
# Fix: The wallet file must be a valid Arweave JWK JSON
# Generate a new one if needed:
arweave-js: const key = await arweave.wallets.generate();

# Error: timeout / network errors
# Fix: Try a different gateway
arkb deploy ./out --wallet ./wallet.json --gateway https://arweave.net

# Error: "Transaction already exists"  
# This is harmless — arkb skips files that are already uploaded
# It uses content-addressing, so identical files are deduplicated
Uploaded content not visible on gateways

After uploading, content may not be immediately available on all gateways:

  • Wait for confirmation. Gateways won't serve unconfirmed data. Allow 10–30 minutes.
  • Try alternate gateways. Different gateways may sync at different speeds.
  • Cache issues. Browsers and CDNs can cache 404 responses.
Check multiple gateways
TX_ID="your_transaction_id_here"

# Try these gateways:
curl -I "https://arweave.net/$TX_ID"
curl -I "https://ar-io.dev/$TX_ID"
curl -I "https://g8way.io/$TX_ID"

# For manifest-based deploys, access via:
# https://arweave.net/MANIFEST_TX_ID/index.html
# https://arweave.net/MANIFEST_TX_ID/path/to/file.css
Manifest deploy: pages return 404

When deploying a full site with arkb, it creates a manifest that maps paths to transaction IDs. If individual pages 404:

  • The manifest index might not point to index.html — check your deploy command
  • Client-side routing won't work — Arweave serves static files, not an SPA
  • Relative paths may break if assets reference / as root
Deploy with correct index
# Make sure to set the index file
arkb deploy ./out --wallet ./wallet.json --index index.html

# For Next.js static export, the output structure should be:
# out/
#   index.html
#   about/index.html
#   episodes/index.html
#   ...
# Each route needs its own index.html (Next.js does this with output: 'export')

# Verify the manifest after deploy:
curl https://arweave.net/MANIFEST_TX_ID | jq .
High storage costs for audio files

Audio files are large and Arweave charges per byte. Strategies to reduce cost:

  • Compress audio: Use Opus or AAC instead of MP3. Opus at 64kbps is excellent quality and ~50% smaller.
  • Archive selectively: Archive the most important episodes first. Site HTML/CSS is tiny by comparison.
  • Use Irys bundling: Bundled transactions are cheaper than base-layer Arweave transactions.
  • Community funding: Split the cost among multiple supporters — each archives different episodes.
Cost estimation
# Rough cost estimation for Arweave:
# Current rate: ~5 AR per GB (check https://ar-fees.arweave.dev)
# 1 AR ≈ $5-30 USD (varies with market)
#
# Typical podcast episode (MP3, 45 min): ~40-60 MB
# Typical podcast episode (Opus, 45 min): ~20-30 MB
# Full website HTML/CSS/JS: ~5-10 MB
#
# Cost for one episode: ~0.3-0.5 AR
# Cost for full site: ~0.05 AR