Get Started with Avail DA
Post data to Avail DA and read it back — in TypeScript, Rust, or Go.
Avail DA is a modular data availability layer purpose-built so rollups can post, verify, and retrieve data without running a full node. Rollup teams across the ecosystem use Avail DA to scale throughput while keeping verification light and decentralized. On this page you'll install an SDK, submit data to the Turing testnet, and read it back — in under 5 minutes.
For complete examples with error handling, see the full Read & Write guide.
Quick Look — Submit & Read Data
import { Account, SDK, Block } from "avail-js-sdk";
const sdk = await SDK.New("wss://turing-rpc.avail.so/ws");
const account = Account.new("YOUR_SEED_PHRASE");
// Step 1: Submit data
const tx = sdk.tx.dataAvailability.submitData("Hello, Avail!");
const res = await tx.executeWaitForInclusion(account, { app_id: 89 });
console.log(`Block: ${res.blockHash} | Tx: ${res.txHash}`);
// Step 2: Read it back
const block = await Block.New(sdk.client, res.blockHash);
const blobs = block.dataSubmissions({ txHash: res.txHash });
console.log(blobs[0].toAscii()); // "Hello, Avail!"Note
Prerequisites: Before running the code above, you'll need:
- Testnet AVAIL tokens — free from the faucet
- An App ID — identifies your data namespace
- An SDK installed:
pnpm add avail-js-sdk·cargo add avail-rust·go get github.com/availproject/avail-go-sdk
Choose Your Path
Post Data to Avail
Full read & write tutorial with TypeScript, Rust, and Go SDKs. ~15 min.
Deploy a Rollup
Launch an OP Stack, Arbitrum Nitro, or Polygon CDK rollup on Avail DA.
Run a Light Client
Verify data availability by sampling — no full node needed. ~10 min.
Run a Validator
Operate a full validator node on the Avail network.
Next Steps
How is this guide?