Deep Dive / ~5 min read

Gateways & the Permaweb

How 500+ gateways bridge the blockweave to your browser: caching, indexing, and serving permanent data.

Gateways & the Permaweb
Permanent on Arweave

The Bridge Between Blockweave and Browser

Arweave stores data permanently on a decentralized network of miners. But miners don't serve web pages. They don't respond to HTTP requests. They don't render your images or run your JavaScript. That job belongs to gateways.

Gateways are the infrastructure layer that makes Arweave data accessible through a standard web browser. They cache content, index transactions with GraphQL, and serve data over HTTPS. Without gateways, Arweave would be a permanent archive you could write to but never easily read from.

How Gateways Work

When you access data on Arweave, you use a URL like:

https://arweave.net/tx-id-here

The gateway (arweave.net in this case) receives your request, retrieves the data from the Arweave network, and serves it with the correct content type. HTML files render as web pages. Images display properly. JSON is returned with the right headers. PDFs open in your browser.

Behind the scenes, gateways do several things:

  • Cache popular content so it loads quickly without hitting the base layer every time
  • Index transactions by their tags, making the entire blockweave searchable via GraphQL
  • Resolve content types from transaction tags to serve data with proper HTTP headers
  • Handle large files by streaming data chunks from multiple miners

The result is an experience that feels like the traditional web, despite the content being stored on a decentralized, permanent storage layer.

The Gateway Network

There is no single gateway. Over 500 independent gateways serve Arweave data worldwide. Major operators include:

  • arweave.net: The original gateway, widely used as the default
  • AR.IO Network: A decentralized gateway network with its own incentive layer, operating hundreds of gateways globally
  • g8way.io: Community-operated gateway

This redundancy is fundamental to Arweave's censorship resistance. If one gateway is blocked, users switch to another. If a gateway operator goes offline, others continue serving the same data. There is no single point of failure in the access layer.

The Permaweb

The permaweb is what you get when you combine Arweave's permanent storage with gateways that serve content over HTTP. It is a permanent, decentralized web where:

  • Websites run forever. No hosting bills, no domain renewals, no server maintenance. A site deployed to Arweave today will be accessible through gateways for as long as the network exists. This is how DeFi frontends achieve true decentralization.
  • Content cannot be modified. Each deployment is immutable. You can deploy updated versions, but the original remains permanently accessible at its transaction ID.
  • No single authority controls access. Any gateway can serve any content. Blocking requires blocking every gateway simultaneously, which is practically impossible across a global network.

This website, arweave.org, is stored on the permaweb. Every page, image, and script is a permanent transaction on the blockweave.

GraphQL: Querying the Permanent Record

Gateways don't just serve content. They index it. Every transaction on Arweave carries key-value tags: content type, app name, timestamps, and any custom metadata the uploader chooses. Gateways parse these tags and expose them through a GraphQL API.

This means you can search the entire Arweave dataset:

query {
  transactions(
    tags: [
      { name: "App-Name", values: ["mirror-xyz"] },
      { name: "Content-Type", values: ["text/html"] }
    ]
    first: 10
  ) {
    edges {
      node {
        id
        tags { name value }
      }
    }
  }
}

This query finds the 10 most recent HTML posts from Mirror.xyz stored on Arweave. Every application built on Arweave uses this same pattern: write data with descriptive tags, then query it back via GraphQL through any gateway.

ArNS: Human-Readable Names

Transaction IDs are 43-character strings. Not exactly memorable. The Arweave Name System (ArNS) maps human-readable names to transaction IDs, similar to how DNS maps domain names to IP addresses.

With ArNS, a permanent deployment gets a clean URL like:

https://arweave-org.arweave.net

ArNS names are purchased with IO tokens through the AR.IO network. Unlike traditional domains, ArNS names point to immutable content, so when you update your site, you update the ArNS pointer to a new transaction ID. The old version remains permanently accessible at its original ID.

Why This Architecture Matters

The gateway model separates storage from access. This is a deliberate design choice:

  • Miners optimize for storage. They earn rewards by proving they store data via Proof of Random Access. They don't need to run web servers.
  • Gateways optimize for delivery. They cache content, index transactions, and serve data quickly. They don't need to store the entire blockweave.
  • Users get the best of both: permanent storage with fast, familiar web access.

This separation also means the access layer can evolve independently. New gateway implementations can add features, improve performance, or specialize in specific use cases without changing anything about how data is stored on the base layer.

Running a Gateway

Gateways are open-source. Anyone can run one. The AR.IO network provides the most widely used gateway implementation, with built-in incentives for operators who provide reliable service.

Running a gateway means joining the infrastructure layer that makes the permaweb accessible. It's the Arweave equivalent of running a web server, except the content you serve is permanent and decentralized.

The more gateways that operate, the more resilient the access layer becomes. This is by design: Arweave's architecture ensures that no single gateway failure, no single country's internet policy, and no single operator's business decision can make permanent data inaccessible.

Subscribe to our newsletter

Built by the Arweave community

Permanently hosted on Arweave