Skip to main content
Three agent-callable MCP tools wrap the LenderRegistry trinity public surface, letting consumer agents resolve credit-risk attestations to their issuer + recommend lenders/service providers for a given merchant — without operator handholding.

verify_lender

Resolves a lenderId (referenced in a Schema B attestation) to the lender’s public profile + signing wallet.
Use case: A consumer agent has parsed a Schema B attestation and needs to display the issuing lender’s human-readable name + regulator reference. Forensic cross-check between signingWallet and the on-chain issuerWallet detects schema impersonation. Wraps: GET /v2/lenders/:lenderId.

get_lender_history

Trace a lender’s full lifecycle — REGISTERED, STATUS_CHANGED, metadata edits. Verifiers use this to determine whether a lender was ACTIVE at the time a Schema B credit-risk attestation was minted, and to surface any SUSPENDED / ARCHIVED transitions.
Event types: LENDER_REGISTERED / LENDER_STATUS_CHANGED / LENDER_DISPLAY_NAME_CHANGED / LENDER_JURISDICTION_CHANGED / LENDER_SIGNING_WALLET_CHANGED / LENDER_REGULATOR_REFERENCE_CHANGED / LENDER_CONTACT_NOTES_CHANGED. previousStatus / newStatus are non-null only for LENDER_REGISTERED + LENDER_STATUS_CHANGED events; both are null for metadata-change events. Use case: An agent presenting a Schema B credit-risk attestation needs to confirm the issuing lender was in good standing at attestation time — walk the timeline, find the LENDER_STATUS_CHANGED events bracketing the attestation’s occurredAt, and assert the lender was ACTIVE in that window (and not subsequently SUSPENDED / ARCHIVED). Wraps: GET /v2/lenders/:lenderId/timeline.

recommend_lender

“Which lenders should this merchant approach?” — given a jurisdiction (+ optional archetype filter), returns the ordered list of ACTIVE lenders by exact-match-first, GLOBAL-fallback-second, track-record sort within group.
Use case: Merchant onboarding flow asking “which lenders should I apply to?” — agent surfaces exact-jurisdiction matches first (e.g. CredibleX for UAE merchants) with GLOBAL DeFi-vault fallback (e.g. Valinor) ranked second. Wraps: GET /v2/lender-routing/recommend.

recommend_service_provider

“Which WMS partner should this merchant route to?” — same pattern as recommend_lender but for InventoryOS partners (WMS/3PL).
Use case: Merchant fulfillment onboarding asking “which 3PL should I integrate with” — agent ranks by track record (successful ingestion count + recency). Wraps: GET /v2/service-provider-routing/recommend.

get_methodology_versions

Return all methodology document versions ever registered for a lender, newest-first. Verifiers use this to trace a lender’s full methodology lineage when an on-chain Schema B attestation cites a specific hash.
Status enum: ACTIVE / SUPERSEDED / REVOKED. Privacy + bounds: no notes field is exposed (operator-only); response is hard-capped at 100 versions per lender. Use case: An agent presented with a Schema B attestation needs to walk the lender’s methodology history to see whether the cited methodologyHash is the most recent version or has been superseded — flag stale citations to the consuming application. Wraps: GET /v2/methodologies/:lenderId/versions.

request_brand_attestation

Queue a Schema A brand-attestation request on behalf of a merchant. The request walks PENDING → APPROVED → MINTED (or → REJECTED); the on-chain mint is gated behind operator review — calling this tool does not directly mint.
Idempotent on (shopSlug, status: PENDING) — re-calling while a PENDING row exists returns the same requestId instead of creating a duplicate. The agent never has to handle a “duplicate” 4xx. Use case: an agent orchestrating a merchant’s full onboarding flow — application form, lender match, brand-attestation request — needs to queue the brand-attestation request without the merchant clicking the shop-builder CTA. Pair with get_brand_attestation_status (next) to detect terminal state before handing back to the merchant. Wraps: POST /v2/attestations/brand/:shopSlug/request. Full walkthrough at Brand attestation: request → mint → verify.

get_brand_attestation_status

Poll the brand-attestation request lifecycle. The status discriminator is one of NONE (no request exists), PENDING, APPROVED, MINTED, or REJECTED. The endpoint always returns 200; missing rows are reported as the synthetic NONE state so the agent never has to handle a 404.
Privacy: operator-private fields (decidedBy, decisionReason, mintError, mintAttempts, merchantId, free-text notes) are scrubbed from this response. They only surface on the SUPER_ADMIN admin route. Use case: an agent loop walking a brand-attestation request from PENDING → MINTED. Recommended cadence: 30s → 60s → 120s exponential backoff for up to ~5 minutes, then hand the lifecycle back to the merchant. On MINTED, call verify_brand_attestation to confirm the on-chain envelope decodes cleanly and surface the easscan link to the merchant. Wraps: GET /v2/attestations/brand/:shopSlug/request-status.

get_trust_fabric_stats

“What’s the platform’s overall trust-fabric scale?” — returns aggregate-only counts across lenders, service providers, methodology versions, and attestations by schema. No PII, no per-row data, no auth required. Use this to gauge platform scale before issuing per-merchant queries or to power a partner-facing dashboard.
Use case: partner dashboards showing droplinked trust-fabric scale; agent platform-scale signaling; freshness/health probes. Wraps: GET /v2/trust-fabric/stats.