OneHopCDN
0 ms 0 ms OS2 · ORIGIN A-SIDE your origin Z-SIDE the visitor 0 ms 0 ms OS2 · ORIGIN

A-sideyour origin

Z-sidethe visitor

Conventional transit 0ms 0 hops

OneHop 0ms 0 hop

One jumper
from origin
to edge.

Every other CDN answers a miss by walking back through its own hierarchy — regional tier, origin shield, then transit across somebody else's backbone. OneHop deletes the walk. One anycast node, one hop, one round trip.

Run a cross-connect See the measurement

Median edge RTT
11ms
Cache hit ratio
97.4%
Global purge
<150ms

SyntheticDemonstration figures. OneHop is a design exercise, not a running service.

Both routes, one millisecond axis.

A cold object requested from Frankfurt, origin in Ashburn. Nothing here is modelled with a different clock for each side — the two routes are drawn against the same scale, so the distance you see is the distance you pay.

Conventional transit OneHop

The same axis, across a week of production traffic.

Demonstration data. Figures are illustrative and internally consistent; they are not audited measurements.

Thirty-two rooms. No tier above them.

Every node terminates single-mode straight into the exchange fabric and carries a full copy of the routing table. There is no parent cache to fall back to, because there is no parent. A node that misses fetches once, directly, and everybody downstream of it is warm.

Nodes in service
32
Internet exchanges
61
Committed egress
184Tbps
Peers
3,400+

SyntheticEvery node, code, and round-trip figure above is fabricated for this demonstration. No fabric is operating behind this page.

Cross-connect work order

Circuit
XC-0001
A-side
your origin
Z-side
onehop fabric
Elapsed
about 4 min
  1. Point the record

    One CNAME. Your origin keeps serving exactly what it serves today; we stop asking it twice.

    ; zone: example.com
    assets  3600  IN  CNAME  example.onehop.net.
  2. Declare the cache

    Rules are read top to bottom, first match wins. Anything you do not declare inherits the origin's own Cache-Control.

    # onehop.toml
    [[rule]]
    match       = "/static/*"
    ttl         = "30d"
    stale_while_revalidate = "7d"
    compress    = ["br", "zstd"]
    
    [[rule]]
    match       = "/api/*"
    ttl         = "0"
    tags        = ["api"]
  3. Purge by tag

    Tags invalidate across all thirty-two nodes at once. No per-node queue, no propagation window to wait out.

    curl -X POST https://api.onehop.net/v1/purge \
      -H "authorization: Bearer $ONEHOP_TOKEN" \
      -d '{"tags":["api"]}'
    
    <- 200  purged 32/32 nodes in 118ms

Everything terminated on the panel.

No feature tiers, no add-on SKUs for the parts of HTTP that should not have been unbundled in the first place. Every port below is live on every plan.

    Four circuits, before and after.

    Every name, figure, and circuit on this page is fabricated for demonstration. OneHop is a design exercise; these are not customers and these are not measurements.

      Rate schedule

      Egress and requests, metered. No commitment, no per-seat line, no charge for TLS, HTTP/3, or purge. Illustrative pricing for this demonstration.

      OneHop rate schedule: tiers, included egress, overage, and terms.
      Tier Monthly Included egress Overage Terms Order
      JumperA single circuit — a side project, a docs site, a staging origin. $0 100 GB $0.009 / GB 1 origin, 1 zone · unlimited tag purge · community support Start free
      FrameProduction traffic on your own hostnames, with the logs to prove it. $240 40 TB $0.006 / GB Unlimited origins and zones · real-time log streaming · edge functions, 50 ms CPU · mTLS to origin and WAF rules · 99.99% target, 24/7 on-call Run a cross-connect
      Meet-MePrivate fabric, your own ASN, and a physical cross-connect where you already have a cage. Metered Committed from $0.004 / GB Private interconnect at 61 IXs · BYO ASN and prefixes · dedicated capacity per region · named engineer on a shared channel Talk to engineering

      SyntheticIllustrative pricing for this demonstration. No rate here is offered or payable.

      Terminate it here.

      Point one record and watch the second hop disappear. Nothing to uninstall if you change your mind.

      Run a cross-connect Read the rate schedule