Paying for Uploads
Data storage on Arweave is paid for in Arweave's native AR token — divisible to the "Winston" (10¹² per AR). Turbo makes paying for data storage on Arweave faster and even simpler via Turbo Credits.
What are Turbo Credits?
Turbo Credits are the payment medium used by Turbo's upload service, providing a 1:1 representation of upload power on the Arweave network, and enabling precise pricing for uploads of any size.
Unlike traditional crypto tokens, Turbo Credits cannot be traded or exchanged on secondary markets - they exist solely for uploading data to Arweave. However, credit holders can share their credits with other wallets, enabling organizational and collaborative use cases.
Important: Turbo Credits are non-refundable and cannot be withdrawn or exchanged for other cryptocurrencies.
How to Purchase Credits
There are two important choices to make when purchasing credits:
- Pay in either fiat via Stripe or via crypto tokens on a supported network
- The address of a supported crypto wallet type to make the primary holder of the credits
When paying in fiat or crypto, the destination wallet address can be one from any supported crypto wallet. It is optional, however, when paying in crypto; the payer wallet is simply used as the default choice in its absence.
Payment Methods
Add credits to your wallet and they will be deducted automatically on each upload. For faster payment networks, it's possible to pay just-in-time with each upload.
Fiat Payments
Top up any address of a supported wallet type by paying with a credit or debit card via Stripe.
Crypto Tokens
Top up any address of a supported wallet type by paying in any of these supported crypto tokens:
| Network | Tokens |
|---|---|
| Arweave | AR |
| AO | ARIO |
| Base | ARIO, ETH, USDC, ARIO |
| Ethereum | ETH, USDC |
| Polygon | POL, USDC |
| Solana | SOL |
| Cosmos | KYVE |
Supported Payment Wallets
| Network Type | Signature Types | Supported Wallets |
|---|---|---|
| Arweave | RSA | JWK Keyfile, Wander, Beacon |
| AO | RSA | JWK Keyfile, Wander, Beacon |
| AO | ECDSA (secp256k1) | JSON Keystore File, MetaMask, Rainbow, Brave, WalletConnect, Privy |
| EVM | ECDSA (secp256k1) | JSON Keystore File, MetaMask, Rainbow, Brave, WalletConnect, Privy |
| Solana | ED25519 | JSON Keypair File, Phantom, Solflare |
| Cosmos | secp256k1 | Keyfile |
Purchasing Interfaces
Turbo App
Visit turbo.ar.io to purchase credits with fiat or crypto using a connected wallet.
ArDrive App
Visit app.ardrive.io to purchase credits with fiat for Arweave wallets.
Turbo Typescript SDK
import { TurboFactory, USDCToTokenAmount } from "@ardrive/turbo-sdk";
const turbo = TurboFactory.authenticated({ signer, token: "base-usdc" });
// Top up with crypto
const result = await turbo.topUpWithTokens({
tokenAmount: USDCToTokenAmount(1),
destinationAddress: "optional-different-wallet-address",
});
// Check balance
const { winc } = await turbo.getBalance();See the Turbo SDK documentation and GitHub repository for complete examples.
Turbo CLI
# Top up with crypto
turbo top-up --token base-usdc --amount 1
# Check balance
turbo balanceSee the Turbo Node.js CLI documentation for installation and usage.
HTTP API
Direct API integration is available at payment.ardrive.io/api-docs for custom implementations.
Payment Interfaces By Token
| Payment Method | Turbo SDK | Turbo CLI | Turbo API | Turbo App | ArDrive App | x402 |
|---|---|---|---|---|---|---|
| Fiat (credit/debit card) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| AR | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| ETH (L1) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| ETH (Base) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| SOL | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| POL | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| ARIO (AO) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| ARIO (Base) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| USDC (L1) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| USDC (Base) | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| USDC (Polygon) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| KYVE | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Just-in-Time Payments
Just-in-time (JIT) payments allow you to pay for uploads at the moment of upload rather than pre-funding a credit balance. This is ideal for agentic workflows, automated pipelines, and systems that prefer pay-per-upload over balance management.
JIT payments are available via the Turbo SDK, CLI, or direct HTTP API integration for tokens with sufficiently fast confirmation times:
| Token / Currency | Network | JIT Supported |
|---|---|---|
| ARIO | AO | ✅ |
| ARIO | Base | ✅ |
| SOL | Solana | ✅ |
| ETH | Base | ✅ |
| USDC | Base | ✅ |
| POL | Polygon | ✅ |
| USDC | Polygon | ✅ |
| AR | Arweave | ❌ |
| ETH | L1 | ❌ |
| KYVE | Cosmos | ❌ |
| Fiat | Stripe | ❌ |
x402 Protocol
x402 is a protocolized approach to JIT payments that leverages the HTTP 402 "Payment Required" status code. Turbo currently supports x402 payments made in USDC on Base. The following Turbo features can utilize x402:
Note: x402 facilitator fees may be applicable for each x402 payment.
- Uploads: pay for storage at the time of upload
- Top up: useful when x402 is the preferred payment medium, but facilitator fees on individual uploads are undesirable
Example SDK usage:
import { TurboFactory, X402Funding } from "@ardrive/turbo-sdk";
const turbo = TurboFactory.authenticated({ signer, token: "base-usdc" });
const result = await turbo.uploadFile({
fileStreamFactory: () => fs.createReadStream("./myfile.jpg"),
fileSizeFactory: () => fs.statSync("./myfile.jpg").size,
fundingMode: new X402Funding({ maxMUSDCAmount: 1_000_000 }), // Max 1 USDC
});See the Turbo SDK documentation and HTTP API docs for complete integration details.
Credit Sharing
Turbo Credits can be shared with other users to fund their uploads while maintaining total control over who may spend them, how many they may spend, and for how long they can do so. This is perfect for organizations, collaborations, and teams.
Credits can be shared via the Turbo App at turbo.ar.io or programmatically via the Turbo CLI, SDK, or API.
How Credit Sharing Works
- Authorize Users: Grant specific wallets access to your credits
- Set Limits: Control how much each user can spend
- Time Limits: Set expiration dates for access
- Revoke Anytime: Regain control of shared credits instantly
Use Cases
- Organizational Funds: Central wallet shares credits with employees
- Onboarding: Give new users free upload power for trials
- Collaboration: Share credits with project contributors
- Educational Programs: Provide students with controlled access
Pricing & Fees
- Turbo top up fees cover the costs of managing infrastructure and, in the case of crypto-based top ups, token liquidity.
- No additional fees are applied when credits are spent.
- Credits maintain a 1:1 peg of storage purchasing power as Arweave's data storage rates and token price fluctuate.
- Uploads under 100 KiB are completely free and do not require a prior top up.
| Currency | Top Up Fee Percentage |
|---|---|
| ARIO (AO or Base) | NO FEE |
| KYVE | 50% |
| All others | 23.4% |
Getting Started
Ready to start using Turbo Credits? Choose your path:
Purchase Credits
Buy credits instantly with credit cards or crypto
Start Uploading
Learn how to upload data with your new credits
Turbo SDK
Integrate credit sharing and advanced features
Just-in-Time Payments
Pay-per-upload for automated workflows
Next Steps
Getting Started with Turbo
Complete upload guide with Turbo.
Tagging Your Data
Organize with metadata and tags.
Understanding Manifests
Create folder structures with manifests.
How is this guide?