Skip to main content
GET /v2/trust-fabric/stats returns a platform-wide aggregate roll-up of the trust-fabric trinity — the count of registered lenders, registered WMS/3PL service providers, registered methodology versions, and on-chain attestations broken out by schema (A/B/C/D). It’s the third-party visualization surface for partner dashboards, agent platform-scale signaling, and freshness probes. The endpoint is intentionally aggregate-only: no per-row data, no PII, no merchant identifiers, no individual lender names. To resolve a specific entity (lender, methodology, service provider), use the per-id endpoints documented elsewhere in this section.
This endpoint exposes only aggregate counts. To resolve a specific lender or methodology, use the per-id endpoints documented elsewhere in this section.

Request

GET /v2/trust-fabric/stats
No path params, no query params, no body. No JWT — public endpoint.

Response (200)

{
  "lenders": {
    "total": 2,
    "active": 2
  },
  "serviceProviders": {
    "total": 5,
    "active": 4
  },
  "methodologies": {
    "totalLenders": 2,
    "activeVersions": 1
  },
  "attestations": {
    "schemaA": 12,
    "schemaB": 8,
    "schemaC": 4,
    "schemaD": 2
  },
  "asOf": "2026-06-12T01:30:00Z"
}

Field reference

lenders.*

FieldTypeNotes
lenders.totalintLifetime count of registered lenders across all lifecycle states (PENDING_KYB | ACTIVE | SUSPENDED | ARCHIVED)
lenders.activeintSubset of total currently in ACTIVE state — eligible to mint Schema B credit-risk attestations

serviceProviders.*

FieldTypeNotes
serviceProviders.totalintLifetime count of registered WMS/3PL providers across all lifecycle states
serviceProviders.activeintSubset of total currently ACTIVE — eligible to mint Schema D cross-attestations and accept HMAC-gated ingestion webhooks

methodologies.*

FieldTypeNotes
methodologies.totalLendersintCount of distinct lenders that have registered at least one methodology version
methodologies.activeVersionsintCount of methodology versions currently in ACTIVE state across all lenders (excludes SUPERSEDED + REVOKED)

attestations.*

FieldTypeNotes
attestations.schemaAintCount of on-chain BrandAttestation records (axis A — brand control)
attestations.schemaBintCount of on-chain CreditRiskAttestation records (axis B — credit underwriting)
attestations.schemaCintCount of on-chain RepaymentHistoryAttestation records (axis C — settlement history)
attestations.schemaDintCount of on-chain CrossAttestation records (axis D — peer trust)

asOf

FieldTypeNotes
asOfISO 8601 timestampServer time at which the rollup was computed. Use for freshness probes.

Privacy discipline

This endpoint is deliberately scoped to platform-wide aggregates. The following are NOT in the response:
  • Individual lender names, IDs, or signing wallets
  • Merchant identifiers (no merchantId, no shop slug, no wallet)
  • Methodology hashes, document URLs, or version strings
  • Service provider IDs or display names
  • Any per-attestation data (uid, issuerWallet, subject, payload)
  • Any PII (no email, no operator names, no admin actor IDs)
For per-row reads, use the dedicated public endpoints (each enforces its own redaction whitelist): /v2/lenders/:lenderId, /v2/methodologies/:lenderId/:hash, /v2/service-provider-routing/recommend, and the per-merchant attestation reads.

When to use

  • Partner-facing dashboards showing platform scale — “Droplinked has underwritten N merchants across M lenders” — without exposing the underlying merchant or lender list
  • Agent platform-scale signaling — a consumer agent answering “how big is this trust fabric” before deciding to integrate
  • Freshness probesasOf lets a caller confirm the aggregate is computed recently (independent of any per-row read freshness)
  • Health checks — non-zero counts across all four axes confirm the schema registry, reconciler, and on-chain pipeline are all live

Caching

There’s no server-side cache in v1 — every call hits the live aggregate. Given the aggregate nature of the response (counts only, no per-row data, no high-cardinality dimensions), clients SHOULD cache at a 60s+ TTL to keep partner dashboards responsive without unnecessary load. The asOf field lets clients display freshness honestly even with stale-while-revalidate strategies.

Curl example

curl -s https://apiv3.droplinked.com/v2/trust-fabric/stats | jq .

MCP tool

Consumer agents reach this endpoint via the get_trust_fabric_stats MCP tool (separate PR in droplinked-mcp, in flight) — so ChatGPT / Claude / OpenAI Agents SDK callers can query platform-scale aggregates without prior knowledge of the path scheme.