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' } })

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.