ar.io Logoar.io Documentation
ARIO Deploy

Command Options

deploy (upload by default, optional ArNS update):

  • --use-arns: Update an ArNS/ANT record after upload. When ArNS details aren't supplied and you're in a TTY, deploy asks by default.
  • --arns-name, -n: The ArNS name to update. Required when using --use-arns; also implies ArNS mode.
  • --cluster, -p: Solana cluster for ArNS updates. Choices: mainnet, devnet. Default: mainnet
  • --rpc-url: Optional Solana RPC URL override for ArNS updates
  • --deploy-folder, -d: Folder to deploy. Default: ./dist
  • --deploy-file, -f: Deploy a single file instead of a folder (no manifest is created)
  • --fallback-file: Path, relative to the deploy folder, served for routes the manifest does not list. Defaults to 404.html when the build emits one. See Single-page apps.
  • --undername, -u: ANT undername to update. Default: @
  • --ttl-seconds, -t: TTL in seconds for the ANT record (60-86400). Default: 60
  • --skip-arns-check: Update the record even if the ArNS key does not appear to own or control the name. Without it, a deploy whose key cannot update the name is refused before anything is uploaded. Use it only right after the name changed hands, when the ANT's recorded owner can lag.

Upload key (pays for the upload):

  • --sig-type, -s: Signer type for the upload key. Choices: arweave, ethereum, polygon, solana. Default: arweave
  • --wallet, -w: Path to the upload wallet file (JWK for Arweave, private key for Ethereum/Polygon, solana-keygen id.json for Solana). Falls back to DEPLOY_KEY.
  • --private-key, -k: Upload private-key string (alternative to --wallet). JWK JSON for Arweave, hex for EVM chains, base58 secret key for Solana.

ArNS authority key (controls the name, signs the update — always Solana):

  • --arns-wallet: Path to the Solana solana-keygen id.json wallet that controls the ArNS name. Falls back to ARNS_KEY.
  • --arns-private-key: Base58 Solana secret key for the ArNS authority (alternative to --arns-wallet). Falls back to ARNS_KEY.

Payment:

  • --on-demand: Top up with this token if the credits cannot cover the upload. Choices: ario, solana, solana-usdc (Solana keys), base-eth, base-usdc (EVM keys). Requires --max-token-amount. See On-Demand Payment.
  • --max-token-amount: Most the top-up may spend, in whole tokens (e.g. 0.5). Caps the whole deploy.
  • --paid-by, --ignore-approvals, --use-signer-balance-first: who pays. See Shared credits.
  • --dev: Use Turbo's development sandbox for both upload and payment.
  • --uploader (alias --upload-url), --payment-url: Custom Turbo services. See Bundler service.

Upload behaviour:

  • --no-dedupe: Disable deduplication (do not cache or reuse previous uploads)
  • --dedupe-cache-max-entries: Maximum number of entries to keep in the dedupe cache (LRU). Default: 10000
  • --incremental: Reuse files already on Arweave, including on a machine with no local cache. Off by default. Cannot be combined with --no-dedupe or --dedupe-cache-max-entries 0. See Incremental uploads.
  • --incremental-gateway: Gateway whose GraphQL endpoint is queried for past uploads when --incremental is set. Default: https://turbo-gateway.com
  • --compress: Compress files before upload and tag them with Content-Encoding. Choices: gzip, br, none (default). See Compression.
  • --compress-exclude: Comma-separated globs of files to upload uncompressed, e.g. "llms*.txt,*.md"

upload (explicit upload without ArNS): accepts --deploy-folder, --deploy-file, --fallback-file, wallet/signer flags, the payment flags, the dedupe and incremental flags, and --compress / --compress-exclude only.

How is this guide?