Overview
VCVerifier supports using multiple trust registries of different types simultaneously. This enables flexible trust models where issuers can be verified through any of several configured registries, providing redundancy and supporting diverse ecosystems.Trust Logic
When multiple trust registries are configured, an issuer is considered trusted if found in at least one of the configured registries. This implements an OR logic across registries.
- Redundancy: If one registry is unavailable, others can still verify issuers
- Flexibility: Support issuers from different ecosystems (EBSI, Gaia-X, etc.)
- Gradual Migration: Transition between registry systems without disruption
- Multi-Ecosystem Support: Participate in multiple trust frameworks simultaneously
Configuration
Basic Mixed Configuration
Combine EBSI TIR and Gaia-X Registry for the same credential type:Multiple Registries per Type
You can configure multiple registries of the same type:Different Registries for Different Credentials
Apply different trust registry combinations to different credential types:Verification Flow
When multiple registries are configured, VCVerifier checks them in order:Check First Registry
Query the first configured registry (e.g., EBSI TIR):
- If issuer is found → Verification succeeds ✓
- If issuer is not found → Continue to next registry
Check Additional Registries
If first registry didn’t find the issuer, query subsequent registries:
- Try Gaia-X Registry
- If issuer is found → Verification succeeds ✓
- If not found → Continue to next registry
Use Cases
Use Case 1: High Availability
Provide redundancy by configuring multiple registries of the same type:- Service continues if primary registry is down
- Automatic failover to backup registries
- Improved uptime and reliability
Use Case 2: Multi-Ecosystem Participation
Support issuers from both EBSI and Gaia-X ecosystems:- Accept credentials from multiple trust frameworks
- Broader ecosystem participation
- Flexibility in issuer onboarding
Use Case 3: Migration Strategy
Gradually migrate from one registry to another:- Zero-downtime migration
- Issuers can move at their own pace
- Backward compatibility during transition
Use Case 4: Regional Registries
Support different regional trust frameworks:- Global issuer support
- Regional compliance
- Reduced latency with regional endpoints
Performance Considerations
Sequential Checking
Registries are checked sequentially, not in parallel: Optimization strategies:- Order registries by likelihood: Place the most likely registry first
- Use caching: VCVerifier’s cache prevents repeated registry queries
- Monitor performance: Track which registries are slow and reorder accordingly
Caching Behavior
Each registry lookup is cached independently:- First verification: Queries all necessary registries
- Subsequent verifications: Served from cache
- Cache miss: Only queries registries not in cache
Network Resilience
Error Handling
How VCVerifier handles errors with multiple registries:| Error Type | Behavior |
|---|---|
| Connection timeout | Skip to next registry |
| HTTP 404 (Not Found) | Skip to next registry |
| HTTP 500 (Server Error) | Skip to next registry |
| Invalid response | Skip to next registry |
| All registries fail | Verification fails |
Errors from individual registries are logged but don’t cause immediate verification failure. Only if all registries fail or return “not found” does the overall verification fail.
Testing Mixed Configurations
Test Registry Fallback
Verify that fallback works correctly:Monitor Registry Performance
Track which registries are actually being used:Advanced Patterns
Credential-Type-Specific Strategies
Environment-Based Configuration
Troubleshooting
Verification Fails Despite Valid Issuer
Verification Fails Despite Valid Issuer
Symptoms: Issuer exists in one registry but verification still failsDiagnosis:Common causes:
- Registry order: Issuer is in registry #2 but registry #1 has connection issues and times out
- Cache issues: Stale cache entry indicating issuer is not found
- Configuration error: Registry URL typo or wrong credential type mapping
- Check logs for which registries are being queried
- Verify registry URLs are correct and accessible
- Clear cache and retry
- Reorder registries to put most reliable first
Slow Verification Performance
Slow Verification Performance
Symptoms: Verification takes too longDiagnosis:
- Check if first registry has high latency
- Monitor cache hit rates
- Reorder registries: Put fastest/most-used first
- Increase cache expiry times
- Add more specific credential type mappings
- Consider removing slow or unused registries
Inconsistent Verification Results
Inconsistent Verification Results
Symptoms: Same credential sometimes verifies, sometimes doesn’tLikely causes:
- Intermittent registry availability
- Registry synchronization delays
- Cache expiry during high-traffic periods
- Add redundant registries for high availability
- Increase cache expiry to reduce registry queries
- Monitor registry health and availability
- Implement retry logic in your application
Best Practices
Order Matters
Place most likely / fastest registries first to optimize performance
Redundancy for Critical Credentials
Configure multiple registries for high-value credential types
Monitor and Adjust
Track which registries are actually used and adjust order accordingly
Test Failover
Regularly test that failover to backup registries works correctly
Document Your Strategy
Clearly document which registries are used for which credential types
Environment Consistency
Use similar registry strategies across dev, staging, and production
Next Steps
EBSI TIR
Learn more about EBSI TIR configuration
Gaia-X
Dive deeper into Gaia-X Registry setup
Overview
Back to trust anchors overview