Internal agents
Leaving the lab.
Agents now hold authority that used to require human approval. The control question shifts from whether the API call worked to who authorized what, under which policy, and whether you can prove it.
Monday morning, your auditor asks who authorized the agent that tried to export customer data on Friday night. This is what they get.
SatGate turns policy decisions into evidence. Mint, delegate, spend, deny, revoke — every step produces a tamper-evident artifact your security, finance, and audit teams can trust.
Run agents without permanent credentials, unlimited spend, or unobservable authority. Then export the proof when your CISO, auditor, board, or incident reviewer asks what happened.
Evidence Pack
Signed lifecycle export preview
{
"evidence_pack_id": "ep_demo_2026_05_09_001",
"issued_at": "2026-05-09T14:22:31Z",
"expires_at": "2026-05-16T14:22:31Z",
"tenant": "acme-finance",
"subject": "worker-agent:invoice-reconciler",
"payment_context": {
"default_market": "internal_enterprise_agents",
"internal_rail": "existing_iam_service_account_or_api_key_billing",
"optional_external_rails": [
"x402",
"l402",
"api_key_billing",
"enterprise_ledger"
],
"note": "The same authority chain and receipts can cover an internal agent call, or a governed bridge call to an external paid API."
},
"authority_chain": [
{
"kind": "root_grant",
"subject": "dean-agent:finance-automation",
"issuer_kid": "satgate-mint-2026-05",
"caveats": [
"tenant=acme-finance",
"budget_usd<=25",
"delegation_depth<=1"
],
"receipt_hash": "sha256:7a2ca1b8d5e0a0d7c9545c7f8e6d03d12761b687a7a1f27c0dd7ed2e643a01b5"
},
{
"kind": "delegation",
"subject": "worker-agent:invoice-reconciler",
"parent": "dean-agent:finance-automation",
"caveats": [
"budget_usd<=3",
"no_customer_data_export",
"route_prefix=/v1/invoices"
],
"receipt_hash": "sha256:95f1c3df9d1f8d7a0e5b60b850f4b6013dd2f0e18496f9e5a8c0319fd51382bf"
}
],
"receipts": [
{
"type": "mint",
"ts": "2026-05-09T14:22:31Z",
"issuer_kid": "satgate-mint-2026-05",
"result": "issued",
"caveats": [
"tenant=acme-finance",
"budget_usd<=25",
"delegation_depth<=1"
],
"receipt_hash": "sha256:7a2c..."
},
{
"type": "delegation",
"ts": "2026-05-09T14:23:04Z",
"result": "attenuated",
"receipt_hash": "sha256:95f1..."
},
{
"type": "spend",
"ts": "2026-05-09T14:23:18Z",
"route": "/v1/invoices/search",
"amount_usd": "0.18",
"payment_protocol": "internal_api",
"settlement": {
"rail": "internal_ledger",
"cost_center": "FIN-AP-042"
},
"result": "allowed",
"receipt_hash": "sha256:01d8..."
},
{
"type": "spend",
"ts": "2026-05-09T14:24:02Z",
"route": "/v1/invoices/compare",
"amount_usd": "0.42",
"payment_protocol": "internal_api",
"settlement": {
"rail": "internal_ledger",
"cost_center": "FIN-AP-042"
},
"result": "allowed",
"receipt_hash": "sha256:a923..."
},
{
"type": "spend",
"ts": "2026-05-09T14:24:44Z",
"route": "/v1/invoices/ocr",
"mcp_tool": "document_ai.ocr",
"amount_usd": "0.18",
"payment_protocol": "x402",
"settlement": {
"chain": "solana",
"tx": "REDACTED_DEMO_SAMPLE",
"ms": 187
},
"result": "allowed",
"receipt_hash": "sha256:deb5..."
},
{
"type": "denial",
"ts": "2026-05-09T14:25:08Z",
"reason_code": "scope_violation:no_customer_data_export",
"result": "blocked",
"receipt_hash": "sha256:9b0f..."
},
{
"type": "denial",
"ts": "2026-05-09T14:25:33Z",
"reason_code": "budget_exhausted",
"result": "blocked",
"receipt_hash": "sha256:c3f6..."
},
{
"type": "revocation",
"ts": "2026-05-09T14:26:11Z",
"revoked_by": "security-admin",
"result": "revoked",
"receipt_hash": "sha256:37d1..."
},
{
"type": "post_revoke_denial",
"ts": "2026-05-09T14:26:16Z",
"reason_code": "capability_revoked",
"result": "blocked",
"receipt_hash": "sha256:8b95..."
},
{
"type": "export",
"ts": "2026-05-09T14:26:31Z",
"result": "evidence_pack_issued",
"receipt_hash": "sha256:e1b3..."
}
],
"chain_root": "sha256:f04ed8430b11c8975cc5ef35919ee078fc4cb166cd8d611ed0d94b7da69df09d",
"signature": "ed25519:REDACTED_DEMO_SAMPLE_DO_NOT_VERIFY"
}Inline hashes are shortened for readability. Full hashes, payment rail context, ed25519 signature, and verification block are in the downloadable JSON.
Internal first, rail-aware when needed
Most enterprise agents do not need a wallet to call internal APIs. They need scoped authority, budget controls, revocation, and audit evidence around the credentials they already have.
When that same internal workflow crosses into an external paid API, SatGate keeps the proof intact: internal scope and delegation, plus spend attribution above x402 rails, L402, API-key billing, or enterprise ledgers. Payment proves value moved. SatGate proves the agent was allowed to move it.
Why now
Enterprises need proof of authority before those rails scale. Payment rails authorize value movement. SatGate authorizes behavior and preserves proof. Payment proves value moved. SatGate proves the agent was allowed to move it.
Internal agents
Agents now hold authority that used to require human approval. The control question shifts from whether the API call worked to who authorized what, under which policy, and whether you can prove it.
Paid calls
x402, L402, AgentCore Payments, Pay.sh, and related rails make it easier for agents to call paid services. SatGate adds policy, limits, evidence, and review around that spend path.
Enterprise scale
CISOs, platform teams, and FinOps leaders need more than logs after the fact. They need evidence that each action matched policy before agents trigger budget, data access, or external execution.
SatGate
Every authority decision is recorded — payment or not — so review and audit do not depend on which protocol the agent used.
The contrast
Other gateways
You reconstruct authority from six systems, three hours of joins, shared API keys, cloud invoices, and dashboard screenshots — with no chain-of-custody.
SatGate
The Evidence Pack is not a logging afterthought. It is generated by the same authority path that enforces the decision.
Six-question evidence framework
The Evidence Pack bundles these artifacts into one export instead of sending teams on a forensics project across logs, invoices, and gateway dashboards. Authority-chain entries preserve lineage; matching receipts preserve the event log, so auditors can verify both structure and sequence.
Who authorized this?
Identity claim, policy match, issuer, timestamp, and the capability minted for the invoice-reconciler worker.
Which agent got access?
The root capability, parent agent, invoice-reconciler worker, and every attenuation in the handoff path.
What exactly could it do?
Routes, tools, tenant boundary, expiry, budget, delegation depth, and revocation status at issue time.
What did it spend?
Request-path and MCP-tool attribution by worker, token, tenant, route, amount, and policy mode.
What was denied?
A policy, budget, scope, tenant, or revocation reason code attached to the blocked invoice call.
Can we prove revocation worked?
The revocation event and the first failed invoice-reconciler call after access ended, tied to the same authority chain.
Maps to audit controls
The Evidence Pack gives security and audit teams a starting control map instead of making them translate raw gateway logs themselves.
Mint receipt — US SOC 2
Logical access provisioning tied to identity, policy, issuer, and timestamp.
Mint receipt — ISO 27001
User registration and de-registration evidence for agent authority issuance.
Delegation chain
Least-privilege attenuation across parent and worker authority.
Revocation receipt
Deprovisioning event plus first post-revoke denial trail.
Spend ledger
Governance evidence for who created spend, on which route/tool, under which token.
Who receives the pack
“I get the authority trail in one export instead of opening a forensics ticket.”
“Revocation isn’t a promise — it’s a signed receipt followed by a denied call.”
“Spend is attributed to the agent, the token, and the route — not a shared API key.”
Want this for your stack?
Bring an API, an agent workflow, and the evidence your auditor already asks for.
Demo path
The demo ends on the exported Evidence Pack. That is the buyer moment: one artifact proving authority, spend, denial, and revocation across the invoice-reconciler lifecycle. Even producing the Evidence Pack is itself an auditable event.
Read the six-step lifecycle below, or watch the 90-second cut.
invoice-reconciler gets a scoped macaroon capability with tenant, budget, route, and expiry caveats.
The parent finance agent hands narrower authority to the worker; the chain is preserved.
The worker calls invoice APIs or MCP tools under budget; the ledger updates by token and path.
Export and over-budget calls return reason-coded receipts before data or spend escapes.
Security kills the worker capability without rotating every upstream provider key.
The lifecycle becomes one Evidence Pack a CISO, auditor, or incident reviewer can read.
A focused walkthrough of the buyer moment: signed lifecycle export, receipt chain, audit mappings, and the downloadable Evidence Pack.
SatGate lets enterprises delegate authority to AI agents without permanent credentials, unlimited spend, or unobservable authority — and proves every step.