MolTrust · Authentication Profile
Moltrust Ch Authentication
Authentication
MolTrust secures its APIs with apiKey, http-bearer (declared, not live), x402-payment, and admin-key (undeclared) across 6 declared security schemes, as derived from its OpenAPI definitions.
AI AgentsAgent IdentityDecentralized IdentityVerifiable CredentialsTrust and SafetyAgent AuthorizationComplianceBlockchainA2AMCPx402Agent-Native
Methods: apiKey, http-bearer (declared, not live), x402-payment, admin-key (undeclared)
Schemes: 6
OAuth flows:
API key in: header
Security Schemes
apiKey apiKey
· in: header ()
moltrust-did apiKey
· in: header ()
aae-envelope http
scheme: bearer
x402 apiKey
· in: header ()
admin-key apiKey
· in: header ()
partner-tier key apiKey
· in: header ()
Source
Authentication Profile
generated: '2026-09-19'
method: searched
source: a2a/moltrust-ch-agent-card.json (securitySchemes) + https://moltrust.ch/developers.html + https://moltrust.ch/bindings/trust-registry/v1.html
(section 4) + https://moltrust.ch/terms.html (section 3) + openapi/moltrust-ch-openapi.yml (X-API-Key / X-MolTrust-DID
header parameters) + openapi/moltrust-ch-moltguard-openapi.yml (x402 scheme) + live probes 2026-09-19
docs: https://moltrust.ch/developers.html
upgraded_from: derived pass of derive-authentication.py (which found only the MoltGuard x402 scheme because the
main FastAPI spec declares no securitySchemes at all - auth appears there as 49 X-API-Key and 6 X-MolTrust-DID
header PARAMETERS)
summary:
types:
- apiKey
- http-bearer (declared, not live)
- x402-payment
- admin-key (undeclared)
api_key_in:
- header
oauth2_flows: []
openid_connect: false
mutual_tls: false
note: No OAuth 2.0 anywhere. Two credential styles for the registry (a key, or the agent's own DID), one economic
credential for MoltGuard (an x402 payment receipt), and an admin key that only appears in operation prose.
schemes:
- name: apiKey
type: apiKey
in: header
parameter_name: X-API-Key
description: Primary credential. Obtain free with POST /auth/signup {"email"} (one key per email, Terms 3) or
POST /auth/signup-did (Ed25519 proof of possession - "Mint an API key by proving key possession instead of owning
a mailbox") after a keyless POST /identity/register-pop. GitHub login (GET /auth/github) and Moltbook token
(POST /auth/moltbook) are alternative signup routes. The key carries an owner_did and a credit balance; 49 operations
in the main spec declare it as a required header parameter (a missing key therefore returns 422 "Field required",
not 401).
obtain:
- POST https://api.moltrust.ch/auth/signup
- POST https://api.moltrust.ch/auth/signup-did
- GET https://api.moltrust.ch/auth/github
env: MOLTRUST_API_KEY (SDK, MCP server, moltrust-enforce)
rotation: '"An agent counts once per month regardless of key rotations (5 included)" - pricing page; compromised
keys: contact info@moltrust.ch (Terms 3)'
sources:
- a2a/moltrust-ch-agent-card.json
- openapi/moltrust-ch-openapi.yml
- https://moltrust.ch/developers.html
- https://moltrust.ch/terms.html
- name: moltrust-did
type: apiKey
in: header
parameter_name: X-MolTrust-DID
description: 'Agent DID for self-identification on trust-gated endpoints (agent card). Accepted as an alternative
to X-API-Key on GET /extendedAgentCard (live 401 message: "provide X-API-Key OR X-MolTrust-DID header") and
required alongside X-API-Key on the AAE enforcement operations (/vc/aae/challenge, /vc/aae/submit, /enforce/check,
/enforce/ratify). Identifies the acting agent rather than the paying account.'
sources:
- a2a/moltrust-ch-agent-card.json
- openapi/moltrust-ch-openapi.yml
- https://moltrust.ch/bindings/trust-registry/v1.html
- name: aae-envelope
type: http
scheme: bearer
bearer_format: AAE-JWS
status: declared-not-live
description: Agent Authorization Envelope as a JWS-signed bearer token (MANDATE / CONSTRAINTS / VALIDITY). The
agent card says "Declared schema; HTTP-auth-layer implementation in progress" and the card's aae extension says
"runtime enforcement is roadmap (Q3 2026)". Do not send it expecting authorization; AAEs are currently submitted
as request bodies to POST /vc/aae/submit and evaluated by /enforce/check.
sources:
- a2a/moltrust-ch-agent-card.json
- https://moltrust.ch/bindings/trust-registry/v1.html
- name: x402
type: apiKey
in: header
parameter_name: X-PAYMENT
description: x402 v2 payment receipt ("x402 <base64-encoded-receipt>") for the 11 paid MoltGuard endpoints. A
request without it receives 402 with a PaymentRequired body naming price, network (base) and payTo; prices are
published in advance at /.well-known/x402.json. Payment is the credential - no account needed.
sources:
- openapi/moltrust-ch-moltguard-openapi.yml
- well-known/moltrust-ch-x402.json
- name: admin-key
type: apiKey
in: header
parameter_name: X-Admin-Key
status: undeclared
description: Named only in operation descriptions ("Requires X-Admin-Key header") on POST /violation/record, POST
/violation/{record_id}/reverse and POST /music/credential/{credential_id}/revoke; never declared as a parameter
or scheme. Operator-only; recorded so a reader knows those writes are not customer-callable.
sources:
- openapi/moltrust-ch-openapi.yml
- name: partner-tier key
type: apiKey
in: header
parameter_name: X-API-Key
status: tier-gated
description: POST /test-harness/endorse "Requires partner-tier API key" - same header, elevated tier.
sources:
- openapi/moltrust-ch-openapi.yml
mcp_server:
endpoint: https://api.moltrust.ch/mcp
discovery_auth: none (initialize + tools/list answered anonymously)
tool_auth: MOLTRUST_API_KEY env for the local server; several tools take api_key / endorser_api_key / admin_key
arguments
oauth: false
a2a:
card_security_schemes:
- apiKey
- moltrust-did
- aae-envelope
card_security_requirements: '[] - no scheme is bound to any skill in the card'
signup_probe:
url: POST https://api.moltrust.ch/auth/signup
body: '{}'
status: 422
response: '{"detail":[{"type":"missing","loc":["body","email"],"msg":"Field required","input":{}}]}'
note: Confirms the email-only signup contract; no key was minted by this pipeline.
Work with this as data
Every security artifact here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/moltrust-ch-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.