Getting Started with Turbo
Upload data to Arweave using Turbo - the most reliable way to upload data to Arweave. Turbo provides enterprise-grade infrastructure with flexible payment options and optimized performance.
What is Turbo?
Turbo is a ultrahigh-throughput Permaweb service that streamlines the funding, indexing, and transmission of data to and from Arweave. It provides graphical and programmatic interfaces for payment options in fiat currency with credit or debit cards as well as cryptocurrencies such as ETH, SOL, USDC, and AR. It integrates two key components: a service that bundles uploads for efficiency and ease, and a payment system designed for straightforward transactions. Turbo Credits, which users can purchase within the ArDrive web app, the Turbo Top Up App, or by using the Turbo SDK/CLI, have the same storage purchasing power of AR tokens, along with the additional benefits provided by Turbo. These credits are meticulously calibrated, with the Winston Credit (winc) representing the smallest unit, ensuring users have precise control over their storage needs. As an open-source technology, Turbo encourages community engagement, allowing developers to contribute to its continuous enhancement.
Get Started
Install the SDK
npm install @ardrive/turbo-sdk
Set Up Your Wallet
Create a new wallet or use an existing one:
# Create a new wallet (easy way)
npx permaweb/wallet > key.json
Then load it in your code:
import { TurboFactory, ArweaveSigner } from "@ardrive/turbo-sdk";
import fs from "fs";
// Load your wallet
const jwk = JSON.parse(fs.readFileSync("./key.json", "utf-8"));
const signer = new ArweaveSigner(jwk);
// Initialize Turbo
const turbo = TurboFactory.authenticated({ signer });
Get Turbo Credits
Purchase Turbo Credits to pay for uploads. When you upload, credits are automatically used and Turbo handles the payment to Arweave.
Option 1: Via the Web Interface
- Go to turbo-topup.com
- Pay with fiat currencies (credit cards) or crypto tokens (ARIO, USDC, SOL, MATIC, AR)
Option 2: Via the SDK
// Purchase credits programmatically
const fundResult = await turbo.topUpWithTokens({
tokenAmount: TOKEN_AMOUNT,
tokenType: "solana", // or 'ethereum', 'matic', 'arweave'
});
Check Your Balance
const balance = await turbo.getBalance();
console.log(`Balance: ${balance.winc} Winston Credits`);
Upload Your Data
const fileData = fs.readFileSync("./myfile.jpg");
const result = await turbo.upload({
data: fileData,
dataItemOpts: {
tags: [
{ name: "Content-Type", value: "image/jpeg" },
{ name: "Title", value: "My Image" },
],
},
});
console.log("Upload ID:", result.id);
console.log("Owner:", result.owner);
Advanced Features
Turbo Credits System
Learn about our flexible payment system that supports multiple currencies and payment methods.
Data Organization
- Tagging - Organize your data with metadata
- Manifests - Create folder structures and bundles
- Encryption - Secure your sensitive data
- ArFS - File system protocol for structured storage
Production Ready
Turbo implements the ANS-104 bundling specification, providing enterprise-grade infrastructure for permanent data storage.
Perfect for: Developers, production applications, high-volume uploads, and any project needing reliable permanent storage with flexible payment options.
Feature | Turbo Bundling | Alternative Options |
---|---|---|
Payment Options | Fiat, ARIO, USDC, SOL, MATIC, AR | AR tokens only |
Implementation | Simple SDK integration | Manual transaction handling |
Performance | Optimized bundling & retry logic | Depends on implementation |
Reliability | Built-in redundancy | Manual error handling |
Cost | Optimized for large uploads | Higher per-transaction costs |
Setup Complexity | Easy with SDK | Complex protocol knowledge |
Need help deciding? Most developers should use Turbo for its simplicity and payment flexibility. Only consider alternatives for specialized use cases requiring maximum control.
Ready to Get Started?
Launch Turbo
Start building with Turbo's powerful bundling service.
Turbo SDK Documentation
Explore the full SDK documentation and examples.
Learn About Tagging
Organize your data with metadata and tags.
How is this guide?