Bundling Services
With bundling services users can post their data transactions to a bundling service to have it "bundled" together with other users transactions and posted as a single Arweave transaction in an upcoming Arweave block.
What is a bundle?
A description of transaction bundles and their benefits can be found here.
Bundles follow the ANS-104 standard, which defines how multiple data items can be efficiently packaged together into a single Arweave transaction. This enables:
- Cost Efficiency: Multiple small transactions can be bundled together, reducing overall transaction costs
- Scalability: Higher throughput by processing many data items in a single base layer transaction
- Flexibility: Support for different payment tokens while the bundler handles AR token payments
What is a Bundler node?
A bundler is a node which is responsible for accepting transactions or data items from users, bundling them, and posting them to the Arweave network (with a guarantee they will be uploaded with a specific transaction ID).
Key Bundling Services:
Turbo
- Repository: Turbo Upload Service
- Description: A high-performance bundling service developed by ArDrive
- Features: Fast upload processing, reliable data persistence, and efficient bundling
- Integration: Widely used across the Arweave ecosystem for production applications
How Bundlers Work
- Data Acceptance: Bundlers receive data items from users along with payment
- Validation: Each data item is validated for proper formatting and signatures
- Bundling: Multiple data items are packaged together using ANS-104 standard
- Network Submission: The bundle is submitted to Arweave as a single base layer transaction
- Persistence Guarantee: Bundlers ensure data is stored until confirmed on-chain
Supporting Multiple Currencies
A key feature of bundling services is that because they pay for the base Arweave transaction to be posted (using AR tokens) they can choose to enable payments of storage fees on a variety of different tokens. This is the main entry point for other chains to enable Arweave's permanent storage for their users.
Payment Token Support
Bundlers can accept various cryptocurrencies for payment while handling the AR token requirements internally:
- Native AR tokens: Direct payment in Arweave's native currency
- Ethereum tokens: ETH, USDC, DAI, and other ERC-20 tokens
- Solana tokens: SOL and SPL tokens
- Other chains: Support varies by bundler implementation
Benefits for Developers
- Simplified Integration: Developers don't need to manage AR tokens directly
- User Experience: Users can pay with familiar tokens from their preferred chains
- Cost Predictability: Bundlers often offer fixed pricing in stable currencies
- Automatic Handling: Bundlers manage all Arweave network interactions
Data Verification and Integrity
Modern bundling services implement comprehensive verification systems:
- Signature Verification: All data items must be properly signed
- Data Root Verification: Bundle contents are cryptographically verified against Arweave chain data
- Background Verification: Continuous validation ensures data integrity over time
- Chunk-based Retrieval: Data can be retrieved and verified through Arweave's chunk system
Code Examples
Using Turbo SDK
Basic Upload with Turbo
Upload with Payment (ETH)
Using arbundles Library
Create and Upload Bundle Manually
React Component Example
Node.js Batch Upload
Check Upload Status
Integration with AR.IO Gateways
AR.IO gateways provide enhanced support for bundled data:
- Automatic Unbundling: Gateways can automatically extract and index data items from bundles
- Optimistic Indexing: Data items can be made available before final confirmation
- Peer-to-Peer Retrieval: Enhanced data availability through gateway networks
- Caching: Intelligent caching systems improve data access performance