ar.io Logoar.io Documentation
Testnet Sandbox

Reference

Solana devnet identifiers

For direct access with the ar.io SDK (ARIO.init({ backend: 'solana', programIds })):

Program / mintAddress
ario_core8Njx9wPkXiNzDCgjwVsJFRjpAEV34gGW3n8DzX3V23m1
ario_gar7WsDTrtZBsfKtnP33XkjuqXCY69JE7n4QVYpynqJCFxz
ario_arns6EZNezcg4rc5hnh8HG34vGquT3WpW5xXypzPb24uyEpp
ario_antDbHbRwUD1oAn1mrDSqtWtvwGcNrmhWdD2g8L4xmeQ7NX
ARIO mint6vTw5CysRXQ4ybbHkDUiisHWVsBeMtUzYvJqs2iqHyaN (6 decimals)

Program IDs rotate. The staging programs are periodically redeployed, so the program addresses above can change (the ARIO mint is stable). Always verify against the current values shown copy-ready on the faucet, or read them from the ar.io SDK's devnet constants — see advanced networks. If ArNS resolutions return an unexpected x-arns-ant-program-id, you're likely on a stale program ID.

The ar.io SDK also hardcodes the staging ARIO mint as its DEVNET_ARIO_MINT, and reads the payment mint from on-chain config automatically — so for the direct SDK path you generally only need the program IDs.

Responses you'll see

CodeWhereMeaning
200 winc:"0"UploadUploaded, free
402 FREE_TIER_EXHAUSTEDUploadOut of free allowance → top up credits
413UploadData item over 10 MiB
400 Token not supportedPaymentNon-testnet funding token
400 Name must be at least 8 characters…ArNSName too short (bundler route only)
302*.ar-io.dev/<id>GatewaySandbox-subdomain redirect (follow it)
status: recordedArNS pollPurchase settled

Caveats recap

  • Ephemeral: data purges after ~3 days. A name keeps resolving (the record lives on the devnet registry), but the data behind it disappears once purged.
  • Testnet only: don't send real tokens or real cards; they're rejected, and there is no mainnet settlement.
  • Shared and rate-limited: short ArNS names are reserved, the faucet is gated and rate-limited, and free-tier allowances are per-wallet and per-IP.

How is this guide?