Arweave Chunks API

Endpoints for uploading and downloading data chunks

Operations 2

POST /chunk Upload a data chunk #
GET /chunk/{offset} Download a data chunk #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/arweave-chunks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

arweave-chunks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arweave HTTP Node Chunks API
  description: 'The core Arweave node REST API for submitting and retrieving transactions, uploading data chunks, querying wallet balances, fetching blocks, and inspecting network state. Requests target any Arweave node on port 1984 (default gateway arweave.net). Amounts are denominated in winstons (1 AR = 10^12 winstons).

    '
  version: 1.0.0
  contact:
    name: Arweave Team
    url: https://www.arweave.org/
    email: team@arweave.org
  termsOfService: https://www.arweave.org/legal/terms-of-use
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://arweave.net
  description: Arweave public gateway
- url: http://localhost:1984
  description: Local Arweave node (default port 1984)
tags:
- name: Chunks
  description: Endpoints for uploading and downloading data chunks
paths:
  /chunk:
    post:
      operationId: uploadChunk
      summary: Upload a data chunk
      description: 'Upload a single data chunk for a v2 transaction. Chunks must be uploaded after the transaction header is submitted via POST /tx. Maximum chunk size is 256 KiB. The data_root from the transaction must be registered (transaction submitted) before chunks can be uploaded.

        '
      tags:
      - Chunks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChunkUpload'
            example:
              data_root: s5-IknhMNY-6SPJRCvzOoWYSjHVQkB1nVlKRKcPgbKM
              data_size: '10485760'
              data_path: Abc123...
              chunk: SGVsbG8gV29ybGQ...
              offset: '0'
      responses:
        '200':
          description: Chunk accepted
          content:
            text/plain:
              schema:
                type: string
                example: OK
        '400':
          description: Invalid chunk submission
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                    - chunk_too_big
                    - data_path_too_big
                    - offset_too_big
                    - data_size_too_big
                    - chunk_proof_ratio_not_attractive
                    - data_root_not_found
                    - exceeds_disk_pool_size_limit
                    - invalid_proof
  /chunk/{offset}:
    get:
      operationId: getChunk
      summary: Download a data chunk
      description: 'Download a data chunk at the specified weave byte offset. Returns the chunk data along with its offset and size metadata.

        '
      tags:
      - Chunks
      parameters:
      - name: offset
        in: path
        required: true
        description: Byte offset of the chunk within the weave
        schema:
          type: string
      responses:
        '200':
          description: Chunk data returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  chunk:
                    type: string
                    description: Base64URL encoded chunk data
                  data_path:
                    type: string
                    description: Base64URL encoded Merkle inclusion proof
                  tx_path:
                    type: string
                    description: Base64URL encoded transaction path
        '400':
          description: Invalid offset
        '503':
          description: Chunk not available
components:
  schemas:
    ChunkUpload:
      type: object
      description: Payload for uploading a data chunk
      required:
      - data_root
      - data_size
      - data_path
      - chunk
      - offset
      properties:
        data_root:
          type: string
          description: Base64URL encoded Merkle root of the transaction data
        data_size:
          type: string
          description: Total size of the transaction data in bytes
        data_path:
          type: string
          description: Base64URL encoded Merkle inclusion proof for this chunk (max 256 KiB)
        chunk:
          type: string
          description: Base64URL encoded chunk data (max 256 KiB)
        offset:
          type: string
          description: Byte offset of this chunk relative to the start of the transaction data
externalDocs:
  description: Arweave HTTP API Documentation
  url: https://docs.arweave.org/developers/arweave-node-server/http-api