One POST, and the Substrate admits or refuses a proposed action against a boundary — and hands back a signed, single-use receipt anyone can verify. No signup for the demo. It never blocks anything itself; it decides, and the decision is a fact you can hold. authority_effect = 0.
The Substrate is small on purpose. Learn these and every call below reads itself.
Your org's slice of admission space, claimed like a domain — one name, one owner. Every boundary and every decision lives inside it, and it scopes who may govern what.
e.g.acme.support · reserve it once, and it is yours
A signed grant: one allowed action, with its limits. Permissions, not prohibitions — a consequential action is denied by default, and a boundary is what permits it. Authored in Lumen, bound by a human.
“Support can issue a refund up to $100.”The honest first posture. The Substrate adjudicates every action and binds nothing — it returns ACCEPT/REFUSE and a signed receipt, but never blocks. Enforcement is a switch a human flips later, earned by the record of what it would have caught.
authority_effect = 0 · it decides; it does not act
The first boundary you charter for your namespace, signed by your hand. It is the moment the shared demo becomes your policy — and authority enters at exactly one point, which is yours.
one boundary · one steward signatureThe signed, single-use PASETO proof of a decision. Verify it offline with the public key — no trust in us required. It carries the decision, the proposal hash, the policy version, and the time.
the receipt is the product — you cancurl the truth
The one verb. POST /v1/admit a proposed action and the boundary judges it before it runs — over REST, or over the live MCP endpoint that agents already speak.
propose → decide → signed receipt → verify
Everything below is the live service at api.barycenters.ai (it resolves to barycenters-admit.fly.dev today). Copy the curl, or press Run live and watch the actual response. Nothing here binds authority — it adjudicates and signs.
GET /readyz returns the runtime's real state — fail-closed, so a healthy response means it can decide, never that it is binding anything.
{
"ready": true,
"issuer_kid": "iss-prod-1",
"receipt_single_use": "durable",
"binding_posture": { "adjudicates": true, "binds": false, "authority_effect": 0 }
}POST a proposed action to /v1/admit. A lawful one comes back ACCEPT with a token — a PASETO v4.public receipt, signed by iss-prod-1, consumable exactly once.
curl -X POST https://barycenters-admit.fly.dev/v1/admit \ -H "Content-Type: application/json" \ -d '{ "domain": "infrastructure.compute_deploy", "environment": "staging", "service": "checkout-api", "image_digest": "sha256:abababababababababababababababababababababababababababababababab", "requested_by": "release-bot" }' # => "decision": "ACCEPT", "token": "v4.public.eyJhdWQ…"
Change one field — deploy to development instead — and the boundary says REFUSE with a reason_code and no token. A refusal is the product working; charging for it would give a governance layer a reason to refuse, so it never does.
curl -X POST https://barycenters-admit.fly.dev/v1/admit \ -H "Content-Type: application/json" \ -d '{ "domain": "infrastructure.compute_deploy", "environment": "development", "service": "checkout-api", "image_digest": "sha256:abababababababababababababababababababababababababababababababab", "requested_by": "release-bot" }' # => "decision": "REFUSE", "reason_code": "INVALID_ENVIRONMENT", "token": null
The token is signed with an Ed25519 key. Fetch the public key at /.well-known/jwks.json and verify the receipt offline, with no trust in us — the whole point of a decision you can hold.
{
"keys": [ {
"kty": "OKP", "crv": "Ed25519",
"alg": "EdDSA", "kid": "iss-prod-1", "x": "…"
} ]
}Verify with any PASETO v4.public library. The receipt's payload records the decision, the proposal_hash (canon-v1), the policy_version, and the time — so a customer re-derives the whole thing from public material and the audit ledger. We are not trusted not to lie; we are unable to.
The calls above run against a shared demo policy. To govern your actions, reserve a namespace and author your Day-1 Law — one boundary, signed by your hand. Authority enters at exactly one point, and it is yours.
Lock your org's admission space like a domain — one name, one owner. A one-time $79 reserves it and unlocks your own laws in shadow, today.
Pick a tier at the door →Write the boundary in Lumen — permissions, not prohibitions. Consequential actions are denied by default; a boundary is a grant. Then every /v1/admit is judged against your law.
The Substrate speaks MCP — an agent that already speaks the protocol gets every consequential action admitted or refused before it runs, over the live endpoint at /mcp. MCP live · REST live too.
Every endpoint, the signed price list, the audit checkpoint. Bills are derived from the chain, not reported — recompute yours and check our number.
API reference →curl.The primitive is live over REST today. Ask it to admit an action, hold the receipt, and prove it — then reserve a namespace and make the law your own.
live over REST + MCP · a REFUSE is never billed · authority_effect = 0