Troubleshooting Guide
Solutions to common node, RPC, wallet, ENA and AICF problems, starting with the doctor commands that diagnose misconfigurations and suggest exact fixes.
7 min read 1,562 words
View docs/TROUBLESHOOTING.md on GitHub
Source: docs/TROUBLESHOOTING.md — this page mirrors the repository documentation.
Naming note. Older repository documents call the signature scheme “Dilithium3”; that is the lineage name for ML-DSA-65 (FIPS 204, scheme id
0x1003), the only signature scheme mainnet accepts for new transactions. Where SPHINCS+ is mentioned as a backup scheme, note that on mainnet it is legacy and consensus-stranded: it cannot sign transactions.
Network note. Examples that mention a local devnet or a faucet apply to development networks only. Mainnet is chain id
1, reachable athttps://rpc.animica.org/rpc; there is no mainnet faucet.
This guide provides solutions to common issues with Animica, ENA, and AICF.
Quick Diagnostics
Run the doctor commands first to identify issues:
# Check node configuration
animica node doctor
# Check ENA setup
animica ena doctor
# Check AICF setup
animica ena aicf doctor
These commands will identify common misconfigurations and suggest exact fixes.
Common Issues
Node & RPC Issues
”RPC not reachable”
Symptoms:
- Commands timeout or fail
animica rpc callreturns connection error
Diagnosis:
animica node doctor
Fixes:
-
Node not running:
# Start the node animica node up # Check status animica node status -
Wrong RPC URL:
# Test connectivity curl http://127.0.0.1:8545/rpc -X POST \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"chain.getChainId","params":[],"id":1}' # Set correct URL export ANIMICA_RPC_URL=http://127.0.0.1:8545/rpc -
Firewall blocking:
# Check if port is open netstat -an | grep 8545 # Allow port (Linux) sudo ufw allow 8545
“Data directory not writable”
Symptoms:
- Node fails to start
- Database errors
- “Permission denied” errors
Diagnosis:
animica node doctor --data-dir ~/.animica/data
Fixes:
-
Fix permissions:
# Make directory writable chmod 755 ~/.animica chmod 755 ~/.animica/data # Fix ownership (if needed) sudo chown -R $USER:$USER ~/.animica -
SELinux preventing writes (Linux):
# Check SELinux status getenforce # Temporarily disable (not recommended for production) sudo setenforce 0 # Or add SELinux policy sudo chcon -R -t user_home_t ~/.animica -
Use different directory:
# Start node with custom data dir animica node up --data-dir /var/lib/animica
“Mempool/DB always read-only”
Symptoms:
- Transactions not accepted
- “Database is locked” errors
- Mempool not updating
Diagnosis:
# Check if data dir is writable
animica node doctor
# Check disk space
df -h ~/.animica
Fixes:
-
Insufficient disk space:
# Free up space rm -rf ~/.animica/logs/*.old # Or use different partition animica node up --data-dir /mnt/storage/animica -
Docker volume not persistent:
# In docker-compose.yml, ensure volumes are mounted: services: node: volumes: - ./data:/var/lib/animica:rw # Note: :rw for read-write -
Multiple processes accessing DB:
# Stop all instances animica node down pkill -f animica # Restart single instance animica node up
Wallet Issues
”Wallet file not found”
Symptoms:
Error: Wallet file not found: ~/.animica/wallets.json
Fix:
# Create new wallet
animica wallet new
# Or import existing
animica wallet import --file backup.json
“Balances show same on all wallets”
This issue should be fixed in the latest version. If you still see it:
Diagnosis:
# Check each wallet separately
animica wallet list
animica wallet balance --address anim1wallet1...
animica wallet balance --address anim1wallet2...
Temporary workaround:
# Clear cache and retry
rm -rf ~/.animica/cache
animica wallet balance --address <your_address>
Fix: Update to latest version:
pip install -U animica
“Signature scheme disabled by policy”
Symptoms:
- Transaction fails with “signature scheme not allowed”
animica tx sendreturns policy error
Diagnosis:
# Check active policy
animica rpc call chain.getParams | grep -A 10 pqAlgPolicy
# Check your wallet's signature scheme
animica wallet list --json | jq '.[].algId'
Fixes:
-
Create wallet with allowed scheme:
# Check allowed schemes animica rpc call pq.getPolicy # Create wallet with allowed scheme (e.g., dilithium3) animica wallet new --alg dilithium3 -
Update policy (operators only):
# WARNING: This requires governance approval # Edit spec/params.yaml or governance config # Add your scheme to allowed list # Deploy updated policy -
Use different network:
# Devnet may have different policies animica --network devnet tx send ...
Transaction Issues
”Insufficient balance”
Symptoms:
Error: Insufficient balance for transaction
Diagnosis:
# Check balance
animica wallet balance
# Check pending transactions
animica tx list --pending
Fixes:
-
Get funds (testnet/devnet):
animica faucet request -
Wait for pending txs:
# Check status of pending txs animica tx status <hash> # Wait for confirmation -
Adjust amount:
# Send smaller amount, accounting for fees animica tx send --to <addr> --value 0.9 --gas 100000
“BigInt serialization error”
Symptoms:
TypeError: Do not know how to serialize a BigInt- JSON errors in wallet or CLI
This should be fixed in latest version.
Immediate workaround:
# Use string amounts instead of BigInt
animica tx send --value "1000000000" --to <addr>
Permanent fix:
# Update to latest version
pip install -U animica
# For wallet extension:
cd apps/wallet-extension
pnpm install
pnpm build
“Transaction stuck in mempool”
Symptoms:
- Transaction shows “pending” for long time
- Not included in blocks
Diagnosis:
# Check mempool
animica mempool list
# Check transaction status
animica tx status <hash>
# Check if you're synced
animica chain head
Fixes:
-
Wait for next block:
# Check block time animica chain head # Wait ~60s for next block -
Increase gas price (future):
# Resubmit with higher gas animica tx send --gas-price 2 ... -
Check nonce:
# Verify nonce is sequential animica wallet nonce # If stuck, clear pending animica tx clear-pending
ENA Issues
”ENA endpoint not reachable”
Diagnosis:
animica ena doctor
# Manual test
curl https://pool.animica.org/v1/models
Fixes:
-
Network issue:
# Test connectivity ping pool.animica.org # Try with different network -
Use backup endpoint:
animica ena infer "Test" --endpoint https://backup.ena.org -
Check firewall:
# Allow outbound HTTPS sudo ufw allow out 443
“Payment transaction failed”
Symptoms:
- ENA payment fails
- AICF contribution not recorded
Diagnosis:
# Check wallet balance
animica wallet balance
# Check AICF address
animica ena pricing | grep AICF
# Verify transaction
animica tx status <hash>
Fixes:
-
Insufficient balance:
# Get funds animica faucet request # Try with smaller max_tokens animica ena infer "Test" --max-tokens 50 -
Wrong AICF address:
# Verify AICF address from pricing animica ena pricing # Update endpoint if needed animica ena infer "Test" --endpoint https://mainnet.ena.org
AICF Issues
”Worker registration failed”
Symptoms:
animica ena aicf worker-registerfails
Diagnosis:
animica ena aicf doctor
# Check endpoint
curl https://pool.animica.org/v1/aicf/status
Fixes:
-
Invalid address format:
# Ensure address starts with anim1 animica wallet list # Use correct address animica ena aicf worker-register anim1... --name "MyWorker" -
Endpoint not supporting AICF:
# Use mainnet endpoint animica ena aicf worker-register <addr> \ --endpoint https://pool.animica.org
“No jobs available”
Symptoms:
- Worker runs but gets no jobs
Diagnosis:
# Check worker status
animica ena aicf worker-status <worker_id>
# Check coordinator
animica ena aicf protocol-status
Fixes:
-
Coordinator not running:
# Start coordinator (operators) animica aicf coordinator start -
No job demand:
- Wait for inference calls to create jobs
- Jobs are created on-demand
-
Worker not active:
# Re-register if needed animica ena aicf worker-register <addr> --name "MyWorker"
“Epoch not finalized”
Symptoms:
- Cannot claim rewards
animica ena aicf worker-claimfails
Diagnosis:
# Check epoch status
animica ena aicf epoch-info <epoch_number>
Fixes:
-
Wait for finalization:
- Epochs auto-finalize after challenge window
- Default: 100 blocks after epoch end
-
Manual finalization (operators):
animica aicf epoch finalize
Debug Logging
Enable verbose logging for more details:
# Node logs
export RUST_LOG=debug
animica node up
# CLI verbose mode
animica --verbose wallet balance
# Wallet extension
# In browser console:
localStorage.setItem('DEBUG', 'animica:*')
Getting Help
If issues persist:
-
Run all doctor commands:
animica node doctor --json > node-diag.json animica ena doctor --json > ena-diag.json animica ena aicf doctor --json > aicf-diag.json -
Collect logs:
animica node logs --tail 100 > node-logs.txt -
Report issue with:
- Doctor outputs
- Exact command that failed
- Error message
- OS and version
- Animica version:
animica --version
System Requirements
Minimum
- OS: Linux, macOS, Windows (WSL2)
- RAM: 4 GB
- Disk: 10 GB free
- Network: Stable internet connection
Recommended
- OS: Ubuntu 22.04 LTS or later
- RAM: 8 GB
- Disk: 50 GB SSD
- Network: 10 Mbps+ symmetric
For GPU Workers
- GPU: NVIDIA GPU with CUDA support
- VRAM: 8 GB minimum
- Drivers: Latest NVIDIA drivers + CUDA toolkit
Performance Tips
-
Use SSD for data directory:
animica node up --data-dir /mnt/ssd/animica -
Allocate more RAM (Docker):
services: node: deploy: resources: limits: memory: 8G -
Optimize database:
# Periodic vacuum (when node is stopped) sqlite3 ~/.animica/data/state.db "VACUUM;" -
Use local RPC:
# Faster than remote RPC export ANIMICA_RPC_URL=http://127.0.0.1:8545/rpc
Further Reading
This page mirrors a file in the animicaorg/all repository. If the repository and this page ever disagree, the repository is authoritative. For long-form explainers written for newcomers, see Learn.