Accept SatGate capabilities in your API.
This is a draft specification.
Acceptance means an upstream verifies SatGate-scoped authority before action and returns receipt-grade evidence after the decision.
Verifies scoped SatGate capabilities and returns SatGate-compatible receipts. Acceptance means capability verification and receipt emission.
{
"schema_version": "satgate.receipt.v1",
"schema_url": "https://satgate.io/.well-known/satgate-receipt.schema.json",
"receipt_id": "rcpt_mock_accept_001",
"evidence_pack_id": "ep_mock_accept_001",
"issuer": "https://api.satgate.io",
"issuer_kid": "satgate-mock-2026-05",
"acceptor_id": "https://api.internal.example/satgate-mock",
"decision": "allowed",
"decision_reason": "capability_scope_audience_and_budget_ok",
"policy_version": "policy_mock_acceptance_v0",
"timestamp": "2026-05-13T00:00:00Z",
"canonicalization": "jcs-rfc8785",
"hash_algorithm": "sha256",
"signature_algorithm": "ed25519",
"capability_hash": "sha256:mock_capability_hash",
"receipt_hash": "sha256:mock_receipt_hash",
"signature": "ed25519:mock_signature_not_for_production",
"mock_only": true
}Badge and copy
The badge says exactly one thing.
Badge text
Accepts SatGate capabilities
Use when an upstream verifies SatGate-scoped capabilities and returns SatGate-compatible receipts for accepted calls.
Short disclaimer
Capability verification + receipts only
The badge means the API checks SatGate tokens. It does not mean SatGate endorses or ranks the API.
Machine signal
roles: ["acceptor"]
Acceptor metadata advertises accepted capability formats, trust anchors, recognized prior receipt decisions, emitted receipt decisions, and the claim boundary.
Minimal integration checklist
What an API needs to do.
Publish or document the upstream acceptor identity and contact path.
Accept `Authorization: Bearer <capability>` using `satgate.capability.v1` or `macaroon-bearer`.
Verify issuer trust anchor before fetching issuer JWKS.
Verify signature, expiry, audience, route/tool scope, caveats, budget, and delegation depth before execution.
Execute only the action authorized by the capability.
Return a SatGate-compatible receipt that validates against `satgate.receipt.v1` for the acceptor v0 decision subset: allowed, denied, or paid.
Expose a test vector or mock endpoint before claiming real production acceptance.
Verification criteria
A verifier should be able to reproduce these outcomes.
Capability accepted
A valid scoped capability for the upstream audience and route is accepted before execution.
Capability denied
An expired, wrong-audience, wrong-route, over-budget, or untrusted-issuer capability is rejected with a receipt-grade denial.
Receipt returned
Priced calls, paid calls and refusals return a receipt with `schema_version`, `schema_url`, `receipt_id`, `evidence_pack_id`, `issuer`, `issuer_kid`, `decision`, `decision_reason`, `policy_version`, `timestamp`, `canonicalization`, `hash_algorithm`, `signature_algorithm`, `receipt_hash`, and `signature`.
Internal mock first