Last updated: 25 September 2026
/.well-known/jwks.json is not a “secret door”. It contains a public key; not the key to a locked vault, but the public document that says how the lock is verified.
The agent asks for get_credential over MCP. The platform mints a 60-second JWT. The company learns that this JWT really came from AgentGunes in two ways:
POST /api/agent/verify — signature + one-time use + company/agent match + agent not stopped, all checked on our side.Live: https://www.agentgunes.com/.well-known/jwks.json
{
"keys": [
{
"kty": "OKP",
"crv": "Ed25519",
"x": "public-key-in-base64url",
"use": "sig",
"alg": "EdDSA",
"kid": "platform-ed25519"
}
]
}
kty: OKP — octet key pair (Ed25519 family).crv: Ed25519 — the curve.x — the public key itself (the lock template).use: sig / alg: EdDSA — for signatures.kid — which key; it matches the kid in the JWT header.iss — who minted it: the platform APP_URL (e.g. http://localhost:8080). It should match the place you downloaded JWKS from.aud — which company: your slug.sub — which agent.exp — trash after 60 seconds.jti — one-time id. Verify marks it once; a repeat is 401 replay.cnf.jkt — fingerprint of the agent public key. A stolen JWT cannot be used with another key.Authorization: Bearer agk_…; that token comes from POST /api/company/token.x value in JWKS as secret. Being public is by design.Company API summary: /docs/api. Getting an access token: POST /api/company/token (domain + hidden password).
This text explains how AgentGunes works; it is not legal advice. Questions go through the contact email on your panel account.