BUILD · FIVE COMMANDS
Five commands. No account, no key, no sales call.
This section is written for whoever is about to write code against ORBIS.ID, not for whoever is about to sign a contract. Before you trust a platform you do five things: resolve its identity, read its contract, prove its conformance, check whether something has been revoked, and put a credential in a wallet. The first four run from a terminal today. The fifth needs a wallet, and this page says so rather than hiding it behind a command that would not actually work for you.
Nothing below asks you to sign up, request a key, or talk to a person first.
Or hold one before you read anything
If you would rather hold a credential than probe a platform, the guided start issues your first credential in under thirty minutes — four steps, all real, against the live sandbox, timed on the page itself. The commands below will still be here when you come back.
Four you can run right now
Each of these was reached from this build on 2026-08-30. Run them yourself — a command you cannot verify is a claim, not evidence.
curl -s https://id.orbis.id/.well-known/did.json curl -s https://id.orbis.id/openapi.json | jq '[.paths[][]["x-auth"]] | group_by(.) | map({(.[0]): length}) | add' curl -s https://id.orbis.id/conformance/vectors | jq '.vectors | length' curl -s https://id.orbis.id/status/1 The fifth, and why it is not printed as a command
Putting a credential in a wallet means a wallet — holding a device key, running the
issuance grant — sits on the other end of the exchange. Nobody reading a webpage has
that yet. Printing curl as a fifth line would either fail against a gated
endpoint or, worse, look like it worked and prove nothing. Instead, the
issuer quickstart walks the flow step by step and
says plainly which of its own steps are checked against the live cell and which are
described from the specification because no reader-held wallet exists to run them.
No account, because there is nowhere to log in to
The four commands above authenticate nobody and meter nothing. There is no key on any of them because there is no metered seam behind them to protect. That is a narrower claim than "free" — it is a claim about what does not exist on the wire, and it is the same reason verification itself is free, structurally, not by a policy that could change on a Tuesday.
What is real here.
The four commands above rest on capabilities that answer today. The fifth rests on one — a wallet a person installs — that this build cannot show you yet.
- LIVE Publishes deterministic vectors a third party can recompute offline to check their implementation against ours conformance-vectors
- PLANNED A wallet a person installs from an app store. wallet-native You cannot hold a credential on a phone you own. Everything a person would do with a proof waits behind this.
The register holds 17 live · 2 partial · 2 planned · 5 not yet.
4 of the 6 capabilities this page depends on have no row in the register yet, so this page will not print a state for them. They are named rather than dropped, because a slice that silently shortens itself is the same defect as a claim with no receipt.
- did-web-anchor
- generated-contract
- revocation
- issuance-flow
The register route serves, but it carries no row for these yet. List what it does carry:
curl -s https://id.orbis.id/api/site/register | jq -r '.entries[].slug' Straight answers
- Do I need an account to run any of the four commands?
- No. None of them names an authenticated route.
- Do I need an API key?
- No — not for anything printed on this page.
- Can I run the fifth step from a terminal today?
- No. It needs a wallet holding a device key, and printing a command that would not do that would be dishonest about what actually runs.
- Where do these four commands come from?
- Each is traced to an endpoint this repository already probed and dated — nothing here was written from memory.
Do not trust us. Check us.