For builders
Build on the mesh.
Point a typed client at the page's own node and ship. Realtime is mesh pub/sub; durable state is a converged, content-addressed map — no database or realtime server of yours to run. An app is one bundle; publish it and it joins the mesh like every other app.
sdk · npm
npm i @ce-net/sdkrust
ce-rs = { git = "https://github.com/ce-net/ce-rs" }@ce-net/sdk · typescript · on npm
Realtime + durable, over the mesh
One typed client for Node, Deno, Bun, browsers, and edge Workers. Live feeds are async iterables over SSE; mesh.request is the device-to-device app channel; money is a bigint-backed Amount — integer base units, never a float.
Or go native
Find a host, deploy a container, move credits, coordinate typed streams and replicated collections — all over the mesh, all typed.
import { CeClient, Amount } from "@ce-net/sdk";
const ce = CeClient.local();
const s = await ce.getStatus(); // id, height, balance
for await (const blk of ce.streams.blocks())
render(blk); // live block feed
// mesh request/reply — device-to-device apps
await ce.mesh.request(peer, "notes/sync", payload);# a web app: publish the built bundle to the mesh
ce-publish bundle ./build myapp.ce-net.com myapp
# a native/wasm ceapp: build, stamp, sign, register
ce-publish app . --buildNo backend to run. The page you publish talks to the mesh through its own injected node — state is content-addressed blobs and gossiped events.
One install command everywhere. Once published,
ce app install myapp runs it on any node — or every paired device with --on fleet=mine.