KYC
Know Your Customer
- Verifies a human
- Required by AML / banking regs
- Point-in-time only (registration)
- Has nothing to say about agents acting for the human
- No machine-readable contract
Every action your agents take should be identified, authorised, audited and revocable — in one open contract. KYE Protocol™ unifies KYC, KYB and KYA into a single cryptographic record of who acted, on whose behalf, with what authority, under what scope, with what evidence.
Pick a language. Drop in the SDK. Ask the gateway whether the action is allowed. Every response is a verifiable decision your auditors can replay.
// npm i @kye/sdk import { KyeClient } from "@kye/sdk"; const kye = new KyeClient({ baseUrl: "https://gw.example/v1" }); const decision = await kye.authorize({ actor: { entity_id: "kye:ent:acme:ai_agent:01J..." }, acting_on_behalf_of: { delegation_id: "kye:del:acme:01J..." }, action: "document.render", }); if (decision.decision !== "allow_with_constraints") throw new Error(decision.reasons.join(",")); // → { decision: "allow_with_constraints", obligations: ["audit.emit"], // stop_conditions: ["actor.stop_signal","delegation.revoked",...] }
# pip install kye-sdk from kye_sdk import KyeClient kye = KyeClient(base_url="https://gw.example/v1") decision = kye.authorize({ "actor": {"entity_id": "kye:ent:acme:ai_agent:01J..."}, "acting_on_behalf_of": {"delegation_id": "kye:del:acme:01J..."}, "action": "document.render", }) assert decision["decision"] == "allow_with_constraints", decision["reasons"]
// go get github.com/kye-protocol/sdk-go package main import ( "context" "github.com/kye-protocol/sdk-go/pkg/kye" ) func main() { c := kye.NewClient("https://gw.example") d, err := c.Authorize(context.Background(), kye.AuthorizeRequest{ Action: "document.render", Actor: kye.Actor{EntityID: "kye:ent:acme:ai_agent:01J..."}, }) if err != nil { panic(err) } // d.Decision == "allow_with_constraints" _ = d }
# Plain HTTP — no SDK required curl -X POST https://gw.example/v1/runtime/authorize \ -H 'content-type: application/json' \ -H 'idempotency-key: 8c4a-...' \ -d '{ "actor": { "entity_id": "kye:ent:acme:ai_agent:01J..." }, "acting_on_behalf_of": { "delegation_id": "kye:del:acme:01J..." }, "action": "document.render" }' # → { "decision":"allow_with_constraints", "reasons":["delegation_active","scope_match"], ... }
Today, one AI agent calls five services with five identities and zero shared policy. Stop signals stay inside their silo. Audits become archaeology. With KYE Protocol™, the same agent gets one URN, one policy decision per action, one append-only record — and one signal that revokes the whole chain in milliseconds.
KYC verified your customers in 1990. KYB verified your business counterparties in 2010. KYA — Know Your Agent — just started shipping in 2026 (Visa Trusted Agent, Skyfire, Persona, Sumsub, Trulioo). Each new layer is bolted on. Each is siloed. Each is point-in-time. Each is vendor-locked. KYE Protocol™ is the open contract that finally unifies all four — and adds the things every previous layer missed: continuous verification, cascading revocation, and a chain of delegation that proves the human is still on the hook when the agent is the one acting.
Know Your Customer
Know Your Business
Know Your Agent
Know Your Entity™
KYA references · Visa Trusted Agent Protocol · Persona — KYA glossary · Sumsub Agent Verification · Skyfire · Trulioo / PayOS Digital Agent Passport · Billions Network
Every entity, every delegation, every scope, every resource grant in one queryable graph. Click a node for its full record. Drag, zoom, toggle layers. Revoke a delegation: watch the edge break and the dependent agent turn red. This is what your auditors get.
A single signal on the KYE™ bus propagates through every dependent delegation, payment authority and resource grant within milliseconds. Recursive through parent_delegation_id. No orphaned authority. No stale grant. No "we missed one".
Allow rate, deny rate, approval queue depth — in one view. The reference Gateway streams decisions to the bus; any dashboard, SIEM or Slack channel can subscribe. Counters below run a synthetic workload to show the shape.
Pick a scenario and watch the request travel through PEP, ePDP, central PDP, audit chain and signal bus. Allowed actions go green. High-risk actions get held for human approval (amber). Forbidden actions go red — with the exact reason code your compliance team needs.
If your agents touch money, identity, health data or anything regulators care about, you can’t hand them an OAuth token and hope.
PSD3, FFIEC, RBI, MAS — every regulator now asks “was the agent authorised, by whom, within what limit?”
KYE Protocol™ gives you a payment authority chain, scope-bound caps, sPDP gating, signed proof bundles for every auth. Use the Payments profile.
Your agent does something destructive. The user asks you to prove it wasn’t supposed to.
KYE Protocol™ gives every action a policy_decision_id, a delegation chain back to a human, and a stop signal that revokes the agent everywhere at once.
An AI triages a patient’s record. HIPAA wants the consent chain. The hospital wants the redaction trace.
KYE Protocol™ binds the agent to the consent credential, attaches redaction.required and external.send.block obligations, and records the lot in the audit chain.
An autonomous treasury bot rebalances. Auditors need to see authority, scope, attestation, decision — not just “the bot did it.”
Combine the Custody and Attestation profiles. Workload attestation binds the runtime; payment authority binds the wallet; audit chain binds the timeline.
You are asked to certify something built on six different vendors’ agent stacks.
Every conformant gateway exports the same proof bundle format. Verify Ed25519 signatures with public keys; replay the audit chain; re-derive the decision. One contract, every vendor.
Identity, authz, audit, signals, webhooks — six teams, six tools.
One PEP middleware. One ePDP cache. One signal bus. Wire your existing OAuth, SPIFFE, MCP and KYA vendors into the contract instead of replacing them.
MCP and A2A handle agent communication. OAuth and GNAP do human authorization. SPIFFE does workload identity. SCITT does transparency. KYE Protocol™ is the contract layer that composes them — one URN, one delegation chain, one decision vocabulary, one cascade, one audit chain.
↔ scroll horizontally to see all columns
No more reconciling 14 ID systems across 14 vendors. Every entity, delegation, signal, decision, credential and proof bundle uses the same kye:<class>:<trust-domain>:<subclass>:<local> shape. Type below or click a sample to see the parser break it down.
Core handles 90% of the contract. The other 10% — payment caps, healthcare consent, custody attestation — is in profiles. Adopt only what you need. Each profile adds vocabulary and conformance fixtures; the Core surface never shifts under your feet.
Click through them. Try an illegal move (the protocol blocks it). Stop, quarantine or revoke an entity and watch the cascade roll down to its delegations, payment authorities and resource grants.
allow_with_constraints.70+ public terms covering entity types, actions, lifecycle states, decisions, signals, obligations, stop conditions and reason codes. Browse by category, search by name. Every term is in KYE-Protocol/vocabulary.
Agentic systems are reaching production faster than identity, authorization and audit can keep up. Today an AI agent calls five services with five different identities; stop signals don’t cross system boundaries; auditors can’t reconstruct what happened. KYE Protocol™ gives every actor — human, service, agent, model, tool, workflow — a single URN, one delegation chain, one decision vocabulary, one cascade and one append-only audit chain. So “who acted, on whose behalf, with what authority, under what scope, with what evidence” has the same answer in every system.
They solve slices. MCP and A2A are agent communication. OAuth and GNAP are human authorization. SPIFFE is workload identity. SCITT is transparency. None give you one URN format spanning humans + services + AI agents, a first-class delegation chain with attenuable scope, standard decision codes, cascading stop signals and a hash-linked audit chain in a single open contract. KYE Protocol™ is that contract layer; it composes with the others.
KYA frameworks — Visa Trusted Agent, Skyfire, Persona, Sumsub, Trulioo’s Digital Agent Passport — verify an AI agent once, at onboarding, with a vendor-specific passport. KYA answers “is this agent real?” KYE Protocol™ answers the bigger question every minute the agent is alive: who is acting, on whose behalf, with what authority, under what scope, with what evidence? KYE Protocol™ is the open contract that unifies KYC, KYB and KYA — one URN spanning humans, businesses and agents; one delegation chain binding them; one cascading bus revoking the chain when something goes wrong. KYA vendors slot in as credential issuers inside KYE Protocol™; the protocol takes care of everything that happens after issuance.
v1.0 ships an OpenAPI spec with 57 endpoints, JSON Schemas validated against 27 examples, a reference Gateway, an embedded PDP library, an Express PEP middleware, three SDKs (TypeScript, Python, Go) and 26 conformance fixtures. Sectoral profiles cover Federation, Credentials, Attestation, Signals, Transparency and Payments. Apache 2.0.
One signal on the bus — entity.stop, delegation.revoked, credential.revoked — propagates through the trust graph in milliseconds. Dependent delegations are suspended. Payment authorities are revoked. Resource grants are withdrawn. Recursive through parent_delegation_id. No orphaned authority. No stale grant. The lifecycle simulator and cascade visualizer above are live demos of the same logic the reference Gateway runs.
The reference implementation, conformance suite and SDKs are public on github.com/KYE-Protocol. Public adopters are listed on the org profile as they go live. Banking, payment, custody and AI lab integrators are encouraged to share their integrations in Show & Tell.
The vocabulary, URN format, schemas and OpenAPI surface are openly published under Apache 2.0 and are intended to remain royalty-free for conformant implementations. Specific mechanism designs (decision algorithms, hash-chain construction, cascade ordering, attenuation propagation) sit in a separate patent track and are not disclosed in the public repositories.
Open a discussion in KYE-Protocol/Discussions — ask a question, propose a profile RFC, share an integration. File issues against the relevant code repo. Watch the org for new profile drops.
Apache 2.0. Drop in, fork, extend. The mechanism designs (decision algorithms, hash-chain construction) are in a private patent track; the vocabulary, ID format, schemas, examples and reference Gateway behaviours are open and stable.