One protocol. Your language.
xNet is a written protocol, not just an app. Build with React today, Swift or Rust natively, Vue or Svelte over the runtime — and every implementation passes the same golden vectors. You don't have to trust us — you can check.
The same data, written your way
Create and query a task in TypeScript or Swift; prove the Rust kernel against the shared vectors. The wire format is identical.
// The reference runtime — works in any JS framework
const client = await createXNetClient({ authorDID, signingKey })
await client.mutate.create(TaskSchema, { title: 'Ship it' })
const todo = client.query(TaskSchema, { where: { status: 'todo' } }) // XNetKit — native, binds into a SwiftUI re-render loop
let store = NodeStore(identity: me, persistence: SQLiteChangeLog(path: dbPath))
store.create(Task, ["title": "Ship it", "status": "todo"])
let todo = store.query(Query(Task, where: .equals("status", "todo"))) # xnet-core — the portable kernel, proven by the shared vectors
cd rust/xnet-core && cargo test
# l0_identity ok · l1_change ok · l1_lww ok · l2_replication ok · l3_authz ok What's supported, honestly
Maturity varies — so we label it. Nothing here is a logo wall; each row links to real, in-repo code.
TypeScript
ReferenceThe full runtime + React SDK, published to npm. The source of truth the vectors are generated from.
React
Stable SDKHooks and components — the first-class toolkit the xNet app itself is built on.
Swift
Native SDK · betaXNetKit: schemas, store, query, SwiftUI live binding, SQLite — plus live cross-language hub sync.
Rust
Core · betaxnet-core: the portable interop kernel with a C/UniFFI binding surface that backs native SDKs.
Vue · Svelte · Solid
Adapter · on demandThin data bindings over the same runtime — useQuery / useMutate, no components. Published on request.
Python · any language
Reference kernelA ~100-line verifier proves the spec, not the TypeScript source, is enough to interoperate.
Only React ships UI components — the component kit is React by design. Other frameworks and languages consume the headless runtime or the protocol directly.
Verifiable, not just compatible
The MIT-licensed SDK and protocol ship a written spec and a language-agnostic golden-vector corpus. The TypeScript reference, the Python verifier, the Rust kernel, and the Swift SDK all reproduce the same DIDs and verify the same signed changes — byte-for-byte.