§ 01 / Herotestnet

the delivery layeranyone can serve

A 14-gigabyte file posted in Berlin streams to a client in Tokyo from several nodes at once, every chunk verified with BLAKE3, paid for per megabyte in USDC. The code is open. The network is open. The price is posted.

target price$0.01/GB
p50 TTFB (hit)50–100 ms
settlementper-MB · USDC
gas overhead<1%
Live deCDN settlement feed. The most recent Settled events from the FeeRouter contract on the Arbitrum Sepolia testnet: transaction, block, epoch, operator, bytes delivered and USDC paid, read in the browser from the public stats file the deCDN indexer publishes every five minutes. Testnet figures, not mainnet revenue. See the disclaimer at /legal/disclaimer/ for forward-looking statements.
see alsoNetwork stats
§ 02 / Side by sidetraditional vs decdn · seven axes

information scaled.supply didn't.

The pattern repeats whenever something big ships: mirrors fork, CDNs rate-limit, small teams burn tens of thousands hosting bytes they don't own. deCDN inverts every axis — supply forms around demand instead of being allocated to it.

Traditional CDN compared with deCDN across seven axes: price, delivery, billing, operators, integrity, failure, and scaling.
axistraditional cdndecdn/ decentralized
price
$0.04–$0.20/GB
$0.01/GB
deliveryfixed provisioningdemand-shaped mesh
billingmonthly minimums, annual contractsper megabyte, in USDC
operatorsthree hyperscalershome labs to datacenters
integritytrust the originBLAKE3, verify every chunk
failurePoP dies, region 503snode drops, stream continues
scalinggets more expensivegets cheaper
§ 03 / How it worksprobe · swarm · settle

How it works

01

probe

The client draws candidate nodes from the on-chain CapacityBond registry, or from its own peer store of nodes it has measured before — if that store is fresh, it skips the probe entirely. Otherwise it probes a shortlist of candidates in parallel for who holds the file and how fast they answer. It ranks holders by measured round-trip time alone. Price is not a rank key: the client pays the rate the node signs, and can cap it with a ceiling of its own. No reputation score is kept.

02

swarm

Bytes stream directly from the chosen node. For files over 64 MiB with at least two holders, the client splits the fetch across several nodes — one per operator — and fills its downlink from all of them at once. Every chunk is verified against the BLAKE3 tree hash as it lands. Bytes that fail verification never get a voucher, so the node that sent them is paid nothing for that range, and the client refetches it from another node. Trust no node — verify every byte.

03

settle

You pay per megabyte in USDC, automatically, as the bytes arrive — no monthly invoice, no subscription, no whole-file minimum. Pay for what you pulled, nothing more.

stack
  • Rustnode & client
  • BLAKE3verification
  • QUICtransport
  • irohconnectivity
  • USDCpayment
  • EVMsettlement
§ 04 / FAQ6 questions

frequently asked.

Set up origin nodes in front of your own storage, whether that is an S3-compatible bucket, an NFS mount or a local disk, and join the network. Your files stay where they are.

Once you get approved, the rest of the network accepts your nodes as origins and caches your content as your users ask for it. To get started, write to us at info@decdn.org.

Keep the bucket. It becomes the origin behind deCDN, read only on a cache miss and never exposed to the network, so you stop paying its egress on every download.

Your files are served instead by many independent operators close to your users, large files from several of them at once, and when a node drops the download carries on from the next one. Operators compete on every request, so an open market sets your delivery price rather than one vendor's egress rates.

Through your own app. You build downloads into it with the deCDN client SDK, and your users never have to know deCDN is there.

The SDK pulls each file from several nodes at once, checks every piece as it arrives, and picks up where it left off if the connection drops. It runs on macOS, Linux and Windows today, and we are testing phone and browser support.

No. You fund a USDC pool and your users download from it, with no wallet, no token and no sign-up.

Each user gets their own allowance, so they can only spend as much as you allow them, and only you can top up or close the pool. The testnet download on this page works the same way.

Each node sets its own per-megabyte rate in USDC and signs it into every quote, so you see the price before a byte moves. A node that charges more than it quoted loses part of its bond.

You never pay more than the ceiling you set, and you pay only for bytes that verify, as they arrive, with no minimums or contracts. The network's target is $0.01/GB.

Governance keeps a public, on-chain blacklist of content hashes, network-wide or for a single region. Nodes have 24 hours to stop serving a listed hash, and repeated offenses result in removal from the network.

Every entry is public, so a wrongful one is visible to anyone, and governance can lift it.

§ 05 / Try ittestnet · no wallet

try it: download something real.

Pick something we seeded on the testnet and paste the line into a terminal on macOS or Linux, or into PowerShell on Windows. It installs deCDN, opens one captcha in your browser, then downloads it from the network and checks every byte against its BLAKE3 hash. The testnet sponsor pays for the transfer, so there is no wallet, no token, and no sign-up.

select a bundle · 9 seeded
size29.0 GB
licenseApache-2.0
terminal
$ curl -fsSL https://up.decdn.org/decdn.sh | sh -s -- get 'decdn:9194000d7b356650e6924a7746ec4afb0b705838b65913c0e46cba6b15af69e5/?ns=1'
testnet · sponsored · no wallet
  • # Files land in the current directory. Add --select to preview.
  • # Interrupted? Run the same line again to resume.
§ 06 / Contact usopen source · open network

the network is open.so is our inbox.

Write to us with questions, partnerships, or anything you'd run on a fleet of idle machines. We read everything.

Live deCDN fleet panel. Nodes registered in the CapacityBond contract on the Arbitrum Sepolia testnet, each with its self-declared region, operator address and most recent settlement, and the bytes served and USDC settled over the last 24 hours, read in the browser from the public stats file the deCDN indexer publishes every five minutes. Testnet figures, not mainnet revenue. See the disclaimer at /legal/disclaimer/ for forward-looking statements.
run a node on the testnet