Skip to main content

SDKs — the client surfaces

Zeq is a language; these are the ways to speak it. Every client wraps the same wire calls, shares the same constants, and gets back the same Ed25519-signed, independently verifiable result. Same equations, same bits, from any of them.

ClientHow you get itRuntimeBest for
TypeScript / JavaScript@zeq/sdknpm install @zeq/sdk from our registryNode 18+, browsersApps, services, notebooks — the flagship client
Terminal CLIzeqcurl -fsSL https://zeqsdk.com/install.sh | shany shellFirst install, tutorials, zeq verify
Pythonzeq.pycurl -fsSO https://zeqsdk.com/cli/zeq.py (no pip)Python 3.8+Data science, Jupyter, NumPy pipelines
HTTP / curlnothing to install — the wire format itselfanythingAny language; what every client wraps
MCP serverzeqsdk-mcpany MCP hostClaude, Cursor, Zed — agent tool use
Kernel Skillserved by every node, sha256-pinnedany agent runtimeTeaching an agent the kernel contract

Install the package

The TypeScript/JavaScript SDK is published to Zeq's own registry — not npmjs. Point the @zeq scope at it once, then install normally:

npm config set @zeq:registry https://zeqsdk.com
npm install @zeq/sdk

The full page is TypeScript / JavaScript → @zeq/sdk. Prefer a one-liner that also gives you the zeq CLI?

curl -fsSL https://zeqsdk.com/install.sh | sh

What every client shares

All clients wrap the same API surface and share the kernel constants (PULSE_HZ = 1.287, ZEQOND_SEC = 0.777, runtime ALPHA_K = 10⁻³ exactly).

Every compute result, from every client, carries an Ed25519-signed claim (signed.claim — registry_version, operators, inputs, value, unit, uncertainty, zeqond) that any third party can re-derive offline with no secrets — and you can verify on a different node than computed it. From the package: verify(envelope, { origin: "https://zeqond.com" }){ verdict: "agree", valid: true }. From the terminal: pipe the envelope to zeq verify -. From any node: POST the signed block to the public /api/attest.

Try it without an account

new ZeqClient() computes locally with no key at all. To get a signed envelope without signing up, every node serves GET /api/demo-key — an instant scoped key (100 computes per rolling 24 h window, per IP):

# 1 · grab a demo key → { "key": "zeq_ak_…", "plan": "demo", "dailyLimit": 100 }
curl -s https://zeqsdk.com/api/demo-key

# 2 · one compute with it — a signed envelope comes back
curl -s -X POST https://zeqsdk.com/api/zeq/compute \
-H "Authorization: Bearer zeq_ak_…" \
-H "Content-Type: application/json" \
-d '{ "operators": ["KO42", "NM19"], "inputs": { "mass": 5, "acceleration": 2 } }'

Drop that key into ZEQ_API_KEY and every snippet on every client page works unchanged.

See also


Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.