ar.io Logoar.io Documentation
ARIO Deploy

On-Demand Payment

With --on-demand, a deploy whose credits cannot cover the upload buys what it is short, once, before the first file uploads. --max-token-amount is required and caps that purchase for the whole deploy.

The token has to be one your upload key can pay with:

Upload key (--sig-type)--on-demand tokens
solanaario, solana, solana-usdc
ethereum, polygonbase-eth, base-usdc
arweavenone: top up Turbo credits in advance
ario-deploy deploy --sig-type solana --wallet ./id.json --deploy-folder ./dist --on-demand ario --max-token-amount 1.5

ario-deploy deploy --sig-type ethereum --private-key "0x..." --on-demand base-eth --max-token-amount 0.1

How it works:

  1. Each file the deploy will actually upload is priced through Turbo. A file within the upload service's free size limit is free only while your wallet's free-tier allowance lasts, so once that is spent small files are priced too.
  2. If the credits you can spend (see Shared credits) cover it, nothing is bought.
  3. Otherwise the shortfall plus a 10% buffer is converted at Turbo's quoted rate. If that exceeds --max-token-amount, the deploy stops before paying anything.
  4. The top-up is paid once, and the deploy waits up to two minutes for Turbo to credit it before uploading anything.

If Turbo has not credited the top-up by then, the deploy stops without uploading and records the transfer in .ario-deploy/. Re-run once it confirms: the next run waits for that transfer instead of buying another. A transfer the payment service rejects is reported as such, and nothing is uploaded.

How is this guide?