Affinidi Radix

Standards-compliant registry providing authoritative trust verification for decentralised identity ecosystems.

Overview

Affinidi Radix is a high-performance trust registry that maintains authoritative information about which entities are authorised to perform specific actions within a trust framework. It implements the Trust Registry Query Protocol (TRQP) v2.0 specification, enabling standards-based verification of trusted entities in decentralised identity ecosystems.

It provides capabitilies such as:

  • Verify issuer authorisation: Confirm whether an entity is authorised to issue specific credential types.
  • Confirm verifier recognition: Check if a verifier is recognised by appropriate governance authorities.
  • Answer trust questions: Determine if Entity B is authorised by Authority A to perform Action X on Resource Y.
  • Maintain trust records: Automated CRUD operations via DIDComm or manual management.
  • Scale trust verification: High-performance storage backends (Redis, DynamoDB, CSV).

How it works

The Trust Registry answers trust questions by maintaining and querying trust records. Each trust record links an entity to an authority for a specific action on a resource.

sequenceDiagram
    participant Client as Verifier/Relying Party
    participant Registry as Trust Registry
    participant Storage as Storage Backend<br/>(Redis/DynamoDB/CSV)
    
    Client->>Registry: Query: Is Entity B authorised<br/>by Authority A for Action X?
    Note over Registry: Extract entity_id, authority_id,<br/>action, resource
    Registry->>Storage: Search trust records
    Storage-->>Registry: Matching records (if any)
    Registry->>Registry: Evaluate authorisation
    Registry-->>Client: Response: Authorised/Not Authorised<br/>+ context metadata

Query flow:

  1. The Trust Registry receives a query via REST API (TRQP endpoints) or DIDComm messaging (when enabled).
  2. It extracts the entity ID (DID), authority ID, action, and resource from the query.
  3. It searches the trust records storage for matching entries.
  4. It returns whether the entity is authorised or recognised for the requested operation.
  5. Optionally, it includes additional context metadata from the trust record.

Example query: “Is did:example:issuer1 authorised by did:example:gov1 to issue credentials of type driver_licence?”

The Trust Registry checks its records and responds with authorisation status and any additional context.

Query interfaces

The Trust Registry provides two interfaces for querying trust records:

  • REST API (TRQP): Always available. Standard HTTP endpoints for authorisation and recognition queries.
  • DIDComm Messaging: Optional. Encrypted, authenticated queries via DIDComm v2.1 protocol when DIDComm is enabled.

Trust questions

The Trust Registry answers two types of trust questions defined by the TRQP specification:

Authorisation query

AspectDetails
QuestionHas Authority A authorised Entity B to take Action X on Resource Y?
PurposeVerify whether a specific entity has been granted authorisation by a governing authority to perform an action on a defined resource.
Example UseBefore accepting a driver’s licence credential, a verifier checks if the issuer is authorised by the national transport authority to issue driver’s licences.

Query Methods:

REST API: POST /authorization

{ "authority_id": "did:example:transport_authority", "entity_id": "did:example:licence_issuer", "action": "issue", "resource": "driver_licence" }

DIDComm (when enabled): https://affinidi.com/didcomm/protocols/trqp/1.0/query-authorization

Recognition query

AspectDetails
QuestionDoes Authority X recognise Entity B as an authority to authorise taking Action X on Resource Y?
PurposeVerify whether one authority recognises another entity as having the authority to grant authorisations for specific actions and resources.
Example UseA federated trust framework where a national authority recognises regional authorities that can in turn authorise local issuers.

Query Methods:

REST API: POST /recognition

{ "authority_id": "did:example:national_authority", "entity_id": "did:example:regional_authority", "action": "certify", "resource": "professional_credential" }

DIDComm (when enabled): https://affinidi.com/didcomm/protocols/trqp/1.0/query-recognition

Core capabilities

CapabilityDescriptionBenefits
TRQP v2.0 ComplianceFull implementation of Trust Registry Query Protocol with authorisation queries, recognition queries, and standardised JSON responses. Supports context metadata via Base64-encoded JSON.Standards-based interoperability with other TRQP-compliant systems. Dual query interfaces (REST API always available, DIDComm optional for encrypted queries).
Storage BackendsFlexible storage options: CSV file storage for development/testing, AWS DynamoDB for scalable cloud deployments with automatic scaling, Redis for sub-millisecond in-memory performance with optional persistence.Choose the backend that fits your deployment requirements, from simple file-based to enterprise-scale databases.
DIDComm IntegrationOptional secure messaging interface for trust record management with CRUD operations via authenticated DIDComm messages. Administrator authentication ensures only authorised DIDs can manage records. Public and private modes control message access.Secure, encrypted trust record management and queries. End-to-end encryption for sensitive trust verification operations.
Security & PerformanceBuilt with Rust for memory safety and high performance. Optimised for thousands of queries per second with minimal latency. Thread-safe concurrent request handling.Memory safety prevents common vulnerabilities. Sub-millisecond query response times with Redis backend. Production-ready performance at scale.

Sample use cases

Credential issuance verification

Verifiers need to confirm whether an issuer is authorised by the appropriate governance authority before accepting credentials.

Scenario: A university verifies that a high school is authorised by the education ministry to issue secondary education diplomas.

Trust Registry query:

{ "authority_id": "did:example:education_ministry", "entity_id": "did:example:high_school_123", "action": "issue", "resource": "secondary_diploma" }

Trust framework compliance

Ensure all participants in a digital trust ecosystem (issuers, verifiers, relying parties) are approved by the governance framework.

Scenario: A government-operated trust framework where only accredited organisations can verify identity credentials.

Trust Registry query:

{ "authority_id": "did:example:national_trust_framework", "entity_id": "did:example:verifier_org", "action": "verify", "resource": "identity_credential" }

Federated trust networks

Support multi-level trust hierarchies where national authorities recognise regional authorities that in turn authorise local entities.

Scenario: A national health authority recognises regional health boards that authorise local clinics to issue vaccination certificates.

Recognition query (national → regional):

{ "authority_id": "did:example:national_health", "entity_id": "did:example:regional_board_north", "action": "authorise", "resource": "vaccination_certificate" }

Authorisation query (regional → clinic):

{ "authority_id": "did:example:regional_board_north", "entity_id": "did:example:clinic_456", "action": "issue", "resource": "vaccination_certificate" }

When to use trust registry

Choose the Trust Registry when you need:

RequirementHow Trust Registry Helps
Standards complianceFull TRQP v2.0 implementation ensures interoperability with other compliant systems.
Governance frameworksMaintain authoritative records of who is authorised to perform what actions.
Verifiable credential ecosystemsVerify issuer and verifier legitimacy before credential issuance or verification.
Federated trust modelsSupport multi-level trust hierarchies with recognition queries.
High-performance verificationHandle thousands of trust queries per second with minimal latency.

Deployment modes

ModeQuery InterfaceRecord ManagementDIDComm MediatorUse Case
StandaloneREST API endpoints for authorisation and recognition queries.Manual via direct storage backend access (CSV editing, database operations).Not required.Simpler setup for environments where REST API queries are sufficient.
DIDComm-EnabledBoth REST API endpoints AND DIDComm messaging for encrypted queries.Secure CRUD operations via authenticated DIDComm messages plus manual storage access.Required. See Affinidi Messaging for mediator setup.Enhanced security with encrypted queries and trust record management via DIDComm.

Next steps

  Visit the Affinidi Radix page to learn more.

  Explore the open source trust registry on GitHub.