Ed25519-signed canonical receipts
Every successful paid call is signed with the gateway signing key. The signature verifies offline; the hash chain links each receipt to the previous one in the same provider scope.
AgentTrust ships every paid agent request as a signed receipt + a hash-chained audit entry + an offline-verifiable proof bundle. This page tells you exactly what is verifiable today, what is not claimed, and how to verify the rest yourself.
X-AgentTrust-Receipt-Id header that points at an Ed25519-signed canonical receipt.FWdCDkFnexcJrMMhzfPLuBnX3RaFS8zoaqxCsMLxvw9Z on Solana mainnet — the program reads the Ed25519SigVerify sysvar instruction and validates the receipt signature in a single transaction.Run these in your own terminal. They hit the live public sandbox; they do not require credentials.
curl -i https://sandbox.aisthetic.services/live
# → 200 OK { "ok": true, "service": "agenttrust-api", ... }curl -s https://sandbox.aisthetic.services/v1/self-serve/sandbox/status # → bounded JSON, schema agenttrust.self_serve_sandbox_status.v2
/g/aisthetic/probe is the canonical public path. /g/demo/data and /g/sandbox/data remain as backward-compat aliases that route to the same sandbox provider.
# 1) no identity → 401 curl -i -X POST https://sandbox.aisthetic.services/g/sandbox/data # 2) sandbox identity, no proof → 402 curl -i -X POST https://sandbox.aisthetic.services/g/sandbox/data \ -H "X-AgentTrust-Wallet-Address: 0xSANDBOX" \ -H "X-AgentTrust-Signature-Scheme: sandbox" \ -H "X-AgentTrust-Principal: did:web:sandbox.aisthetic.services" # 3) sandbox identity + sandbox proof → 200 + receipt curl -i -X POST https://sandbox.aisthetic.services/g/sandbox/data \ -H "X-AgentTrust-Wallet-Address: 0xSANDBOX" \ -H "X-AgentTrust-Signature-Scheme: sandbox" \ -H "X-AgentTrust-Principal: did:web:sandbox.aisthetic.services" \ -H "X-AgentTrust-Sandbox-Proof: demo-paid" # → 200 OK # X-AgentTrust-Receipt-Id: rcp_<placeholder>
Every successful paid call is signed with the gateway signing key. The signature verifies offline; the hash chain links each receipt to the previous one in the same provider scope.
Identity, policy, payment, receipt, and audit events each emit a bounded entry. The chain is per-provider and tamper-evident.
A downloadable ZIP bundle contains the receipt, the relevant audit segment, and a verifier-friendly manifest. pnpm proof:verify returns verdict: valid against a clean bundle. Public-beta sandbox users can generate and download their own session-scoped bundle from the Workbench Proof Ledger, no admin API key required, the response streams application/zip with a bounded filename and never exposes a signed URL.
On request, AgentTrust ships a signed dataroom bundle with checksums, audit retention evidence, compliance evidence, and a recipe for offline verification.
Five independent verification paths, pick the one that fits your trust posture:
/r?id=<receipt-id>.pnpm dataroom:verify <path-to-extracted-bundle> against the recipient’s copy. Checksums must all match.For programmable consumers, the same canonical posture literals this page surfaces ship as a bounded JSON endpoint:
curl -s https://sandbox.aisthetic.services/v1/status | jq . # → bounded JSON, schema agenttrust.public_status.v1 # components.publicSandbox = "live" # components.mainnetCanary = "passed" # components.externalVerification = "complete" # components.publicBilling = "not_launched" # ...
For a human-readable mirror of the same JSON plus a live runtime probe (Postgres / Redis / webhook receiver reachability), see /status.
Sandbox proof is not just an explainer. The Provider Workbench at app.aisthetic.services/proof-ledger renders real session-scoped audit events for the four self-serve setup actions and surfaces a per-receipt verifier that fetches the public /v1/receipts/:id endpoint and links to the offline Ed25519 verifier at /verify. The chain is: endpoint → request → receipt → proof → audit, reachable from inside the workbench, not just described here.
app.aisthetic.services and create your first agent-facing endpoint in five steps.app.aisthetic.services over HTTPS.