A cash-flow score the borrower shares — and can take back.
Licensed lenders get a 300–850 score computed from the borrower’s real bank cash flow across every connected bank, with each factor explained in plain words. Nothing is computed or shared until the borrower says yes, every access is logged and shown to them, and they can revoke at any moment. Silkroute only shares consented data; it does not lend.
Sandbox only: mock banks and synthetic data. No real money moves.
Request consent, then fetch the score
POST /v1/credit_passport/consent/request
{ "user_ref": "borrower_4821", "purpose": "Consumer loan #4821",
"period_months": 6, "access_ttl_days": 30 }
→ { "consent_id": "pcon_01J…", "status": "pending",
"consent_token": "consent-sandbox-…" } // shown once
// … the user grants access in the app or in Telegram …
POST /v1/credit_passport/get
{ "consent_token": "consent-sandbox-…" }
→ { "passport": { "score": 712, "grade": "B", "model_version": "cf-v1",
"factors": [ { "key": "income_stability", "weight": 0.3,
"sub_score": 88, "impact": "positive",
"explanation": "Average monthly income 9,500,000 UZS …" }, … ],
"data_source": "synthetic_sandbox" } }How it works
- 01
Ask for consent
Your server calls /credit_passport/consent/request with a purpose, a 3/6/12-month window and an access period (1–90 days). You get a consent_token once; it works only after the borrower agrees.
- 02
The borrower decides
They see who is asking and why — in the consent centre or as a Telegram message with Grant / Deny — and confirm with SCA (sandbox OTP 123456).
- 03
Fetch the passport
/credit_passport/get returns the score, grade, five weighted factors with explanations, metrics and flags. Before consent, after expiry or after revocation you get a clear 403.
- 04
Transparency, always
Each fetch is logged and the borrower is notified with a Revoke button. They see the same score and explanation as you do.
What you get
✓Five explained factors
Income stability, inflow regularity, spending ratio, balance resilience and debt burden — each with its measured inputs, sub-score, weight and points.
✓Works for the self-employed
Income is every real inflow from any number of sources, not a payroll code. Transfers between the user’s own accounts are excluded.
✓Policy rules you can see
Debt service ≥ 50% of income caps the score at 599 (HIGH_DEBT_BURDEN); under three months of history is flagged INSUFFICIENT_HISTORY.
✓Deterministic model
Model cf-v1: the same data always gives the same score, so decisions are reproducible and auditable.
✓Consent-scoped access
The consent_token is stored only as a hash, checked on every fetch under a row lock, and dies with expiry or revocation.
✓Webhooks
CREDIT_PASSPORT_CONSENT_UPDATED tells you the moment access is granted, denied, revoked or expires.
🛡 Consent & security
- ●Explicit, purpose-bound consent before anything is computed; the borrower can deny or revoke instantly.
- ●Reports are encrypted at rest (AES-256-GCM); tokens are stored only as peppered hashes.
- ●Every request, decision and fetch is in an access log the borrower sees, and in the append-only audit log.
- ●Sandbox reports are computed from synthetic mock-bank data and labelled data_source: synthetic_sandbox.
More products
🔁
Variable Recurring Payments
Approve once, then pay variable bills within per-payment and monthly limits. Pause or revoke anytime.
⚖️
Auto-Balancing
Rules that top up an account before a payment fails — suggest-and-confirm or fully automatic, with caps and a donor floor.
🏦
Treasury & Split Payments
One view of all company balances across banks, and a single payment split over several accounts — with reserves, roles and safe partial-failure handling.
🎨
White-label & platform
Your brand on the consent flow, plus API keys with per-key rate limits, usage analytics and signed webhooks — open banking as a service for banks, MFIs and fintechs.