Know Your Agent (KYA)

KYA is a four-level trust hierarchy that governs what an AI agent can do within the Oris platform. Every agent starts at Level 0 (pending) and progresses through verification to unlock higher transaction limits, additional protocols, and cross-chain capabilities.

KYA Levels

LevelNameMax Per TXMax DailyProtocolsChains
L0Pending$0$0NoneNone
L1Verified$100$1,000x402, directBase, Polygon
L2Trusted$10,000$100,000All standardAll 9 chains
L3Institutional$1,000,000$10,000,000All + Visa TAP, MCAll + fiat bridge

State Machine

An agent's KYA status follows a strict state machine. Only valid transitions are permitted. Invalid transitions return 422 VALIDATION_ERROR.

Current StateValid TransitionsTrigger
pendingverifiedverify action
verifiedsuspendedsuspend action (anomaly or manual)
suspendedverified, revokedreinstate or revoke
revokedNone (terminal)Agent must re-register
State Diagram
pending --verify--> verified --suspend--> suspended --reinstate--> verified --revoke--> revoked (terminal)

Behavioral Drift Detection

Oris continuously monitors agent behavior against declared capabilities and historical patterns. When an agent deviates significantly from its baseline, the system increments its anomaly_count and may trigger automatic suspension.

SignalDescription
Transaction velocitySudden increase in transaction frequency beyond historical baseline
Amount distributionShift in typical transaction amounts (mean, stddev)
Counterparty diversityRapid increase in unique counterparties per day
Chain expansionTransacting on chains outside declared operating_chains
Capability scopeOperations outside declared_capabilities

Risk Score

Each agent has a kya_risk_score from 0.0 (minimal) to 1.0 (maximum). Agents above 0.7 receive enhanced monitoring. Scores above 0.9 trigger automatic suspension.

SDK Usage

Python
from oris import Agent agent = Agent(api_key="oris_sk_live_...", api_secret="oris_ss_live_...") # Register result = agent.register(name="trading-bot", platform="openai") print(result.kya_status) # "pending" (L0) # Verify t = agent.verify() print(t.new_status, t.new_level) # "verified" 1 # Suspend t = agent.suspend(reason="anomalous velocity") # Profile p = agent.get_profile() print(p.anomaly_count, p.kya_risk_score)

API Reference

See Agents API and KYA Enterprise API.