Registries
PEAC Protocol maintains registries for extension keys, attestation types, and advisory classifications. These registries define the standard vocabularies that all implementations use to describe interactions, payments, and other protocol events.
Extension keys
Extensions use reverse-DNS namespaced keys under peac.extensions. This namespacing prevents collisions between first-party and third-party extensions.
{
"peac": {
"extensions": {
"org.peacprotocol/interaction@0.1": {
"tool_name": "search",
"tool_server": "https://tools.example.com"
},
"com.example/custom@0.1": {
"custom_field": "value"
}
}
}
}
Registered extension keys
| Key | Version | Description | Status |
|---|---|---|---|
org.peacprotocol/interaction | @0.1 | Tool call and interaction metadata | Stable |
org.peacprotocol/attribution | @0.1 | Attribution requirements and commitments | Stable |
org.peacprotocol/dispute | @0.1 | Dispute evidence and resolution | Stable |
org.peacprotocol/workflow | @0.1 | Workflow correlation identifiers | Stable |
Third-party extensions use reverse-DNS keys under their own domain (e.g., com.example/my-extension@0.1). No registration is required for third-party keys -- the namespace itself prevents collisions.
Attestation types
Attestation types categorize the kind of evidence a receipt carries. Each receipt has exactly one attestation_type.
| Type | Description | Use case |
|---|---|---|
interaction | General interaction evidence | API calls, tool use, agent conversations |
payment | Payment and commerce evidence | x402, Stripe, Razorpay, card transactions |
consent | Consent and terms acceptance | User agreements, data processing consent |
identity | Agent identity attestation | Agent authentication, key binding |
Advisory registries
Advisory registries define informational vocabularies. Unlike extension keys, advisory registry values are not enforced at the schema level -- they provide standard terminology that implementations should use for interoperability.
toolcall_op_types
Types of tool call operations. Used in the org.peacprotocol/interaction@0.1 extension to classify what kind of operation a tool call represents.
| Type | Description |
|---|---|
read | Read-only data access |
write | Data modification |
execute | Command execution |
query | Search or query operation |
subscribe | Event subscription |
toolcall_resource_types
Types of resources accessed by tool calls. Used alongside toolcall_op_types to describe what resource a tool call targeted.
| Type | Description |
|---|---|
api | REST or GraphQL API endpoint |
database | Database query or mutation |
file | File system access |
network | Network resource |
compute | Compute resource |
Protocol registries
The specs/kernel/registries.json file also defines registries for payment rails, control engines, transport methods, and agent protocols:
| Registry | Contents |
|---|---|
payment_rails | x402, L402, card-network, UPI, Razorpay |
control_engines | Spend control, risk engine, mandate service, TAP, RSL |
transport_methods | DPoP, HTTP message signatures, none |
agent_protocols | MCP, ACP, AP2 (Google), TAP (Visa) |
Normative specification
The normative registry definitions are maintained in:
specs/kernel/registries.json
First-party extension keys and attestation types are registered by submitting a pull request to the PEAC Protocol repository. Advisory registries are informational and can be extended without breaking changes. Third-party extension keys do not require registration.