DIDComm v2 • Store & Forward Mediator

Reliable DIDComm delivery
for wallets & agents

Vericomm is Veritrust’s mediation service. It holds end‑to‑end encrypted messages for your agent and delivers them when you connect. No public ports. No DNS hassle.

Compatible with Aries (Coordinate Mediation & Pickup v2), DIDComm v2, ACA‑Py, AFJ.

Mediator DID (did:web)
{
  "@context": ["https://www.w3.org/ns/did/v1"],
  "id": "did:web:veritrust.vc:vericomm",
  "service": [{
    "id": "#didcomm-1",
    "type": "DIDCommMessaging",
    "serviceEndpoint": "https://vericomm.veritrust.vc/",
    "routingKeys": ["did:key:zMediatorRoutingKey"],
    "accept": ["didcomm/v2"]
  }]
}
Publish or reference this DID where your stack expects a mediator.
1
Coordinate Mediation

Your agent opens an outbound connection and requests mediation. Vericomm assigns routing for your DID(s).

2
Store encrypted messages

Peers send to Vericomm. We store only ciphertext envelopes until you pick them up.

3
Pickup v2 delivery

Your agent fetches via long‑poll or WebSocket. Works behind NAT, CGNAT, and mobile sleep states.

Protocol‑correct

Aries Coordinate Mediation & Pickup v2. DIDComm v2 compliant. Works with ACA‑Py, AFJ, AFJ‑mediator, and more.

Security first

TLS everywhere. E2E encryption by design. Optional mTLS for enterprise tenants. Audit logs & rate limiting.

Operational simplicity

No inbound ports on wallets. Works with dynamic IPs and firewalls. Add mediation with one config.

Namespaces (optional)

Issue aliases like did:web:veritrust.vc:agents:<id> or use pure did:peer pairwise DIDs.

Observability

See queue counts and delivery events (never plaintext). Webhook for pickup success/failure.

SLA options

Tiered retention, throughput, and availability. Choose shared or dedicated mediator nodes.

Integrate in minutes

ACA‑Py (Python)
aca-py start \
  --inbound-transport http 0.0.0.0 8020 \
  --outbound-transport http \
  --endpoint https://vericomm.veritrust.vc/ \
  --monitor-revocation-notification \
  --admin 0.0.0.0 8021 --admin-insecure-mode \
  --enable-undelivered-messages

Then use Aries RFCs to coordinate mediation and pickup. Point your agent endpoint to Vericomm.

AFJ (TypeScript)
const mediator = new MediatorPickupModule({
  mediatorInvitationUrl: 'https://vericomm.veritrust.vc/oob',
  pickupStrategy: 'Implicit'
})

Accept OOB invitation, register keys, and start Pickup v2 over WS/HTTP.

Looking for a dedicated mediator tenant? Contact sales for private routing keys, mTLS, and custom retention.

Service status

All systems operational.

  • Mediator API — OK
  • WebSocket pickup — OK
  • Long‑poll pickup — OK
View detailed status

Pricing

Developer (shared)

Best for testing

  • Shared mediator pool
  • Fair‑use limits
  • Email support
Enterprise (dedicated)

SLA & compliance

  • Dedicated mediator node
  • Custom retention & mTLS
  • 99.9% uptime SLA

Security & Privacy

  • End‑to‑end encryption (DIDComm) — mediator stores ciphertext only
  • TLS 1.2+; optional mTLS for dedicated tenants
  • Rate limiting, abuse protection, audit trails
  • Data residency & retention policies per plan
  • GDPR‑aligned processing; DPA on request
  • Independent penetration testing (annual)

FAQ

No. DIDComm provides end‑to‑end encryption between peers. Vericomm only stores opaque ciphertext envelopes and routing metadata.

Aries‑compatible agents including ACA‑Py, aries‑framework‑javascript (AFJ), Bifold, Lissi, Trinsic SDKs, and any DIDComm v2 stack supporting Coordinate Mediation & Pickup v2.

Yes. We provide a hardened container image and deployment guide. You can also run ACA‑Py or aries‑mediator‑service yourself and point wallets to it.