Skip to main content
GET /v2/lenders/:lenderId returns the public profile of a registered lender — used by verifiers (consumer agents, MCP verify_credit_risk callers, partner portals) to resolve the lenderId embedded in a Schema B credit-risk attestation to a human-readable lender + their on-chain signing wallet for forensic cross-check.
This endpoint is public — no JWT, no IP-allowlist. Only ACTIVE / PENDING_KYB / SUSPENDED / ARCHIVED lifecycle states are exposed (no operator-only fields).

When to use

  • A consumer agent has parsed a Schema B attestation and needs to display who underwrote the merchant (human-readable name + jurisdiction + regulatory reference)
  • A verifier needs to cross-check the on-chain issuerWallet against the registered signingWallet to detect schema impersonation
  • A partner portal needs to show track-record (issuedAttestationCount, lastAttestationAt) before routing a merchant to this lender

Request

Response (200, found)

Response (200, not found)

The found discriminator lets MCP / agent consumers branch without 404-handling.

Field reference

Lifecycle timeline

Returns the whitelist-redacted lifecycle history of a registered lender — used by third-party verifiers asking the temporal question: was this lender ACTIVE at the time a Schema B attestation was minted? A point-in-time status lookup against GET /v2/lenders/:lenderId only answers right now; the timeline lets a verifier replay the lender’s state at any occurredAt in the past.
This endpoint is public — no JWT, no IP-allowlist. The response is intentionally redacted to a verifier-safe whitelist. The following operator-only fields are deliberately NOT in the response: actorId (which admin made the change), reason (free-text justification), and raw before/after value diffs for metadata-change events (display name, jurisdiction, signing wallet, regulator reference, contact notes). Only previousStatus / newStatus are exposed, and only for LENDER_REGISTERED + LENDER_STATUS_CHANGED events.

Request

Response (200)

Events are ordered newest-first and capped at 500 events per response (hard cap — older events are not paginated).

Event types

previousStatus / newStatus values are drawn from the lifecycle enum: PENDING_KYB | ACTIVE | SUSPENDED | ARCHIVED. For metadata-change events the raw before/after values are intentionally redacted — verifiers can confirm that a change occurred at occurredAt (and combine that with the current public profile) but cannot read the operator-only diff.

Curl example

MCP wrapper

Consumer agents reach this endpoint via the get_lender_history MCP tool — already live on mcp.droplinked.com — so ChatGPT / Claude / OpenAI Agents SDK callers can replay a lender’s lifecycle without prior knowledge of the path scheme.