Now in production — scoring real consumers

AI-powered underwriting
for instant loan decisions.

Full-stack decisioning infrastructure for lenders. Alternative data, automated underwriting, and FCRA-compliant decisions in seconds — no bureau required.

Start free pilot →Talk to sales
AltFiScore Credit Report · APP-2604-A1B2
742
AltFiScore
B
Risk Grade
Approved
Decision
11.4%
APR
✓ KYC verified✓ Bank connected✓ Employment verified✓ OFAC clear
0+
Consumer profiles scored
since platform launch
0+
Credit decisions made
in production
0%
Scoring confidence rate
on verified profiles
0s
Avg decision time
end-to-end

Built for every type
of lender.

Whether you're a bank, auto dealer, BNPL provider, or embedded finance platform — AltFiScore has a solution built for your workflow.

Traditional Lender

Score the borrowers bureaus miss.

The challenge: Up to 26% of your applicants have thin or no bureau history. You're declining qualified borrowers you can't see.

AltFiScore builds a complete financial profile from bank transactions, employment data, and rent history. Your team gets a full credit report — score, grade, APR recommendation, and ECOA adverse action codes — in seconds.

Personal LoanMortgageAuto LoanCredit CardBusiness Loan
Start free pilot
AltFiScore · Traditional Lender
742
AltFiScore
Grade B · High confidence
$24,500
Approved amount
of $25,000 requested
11.4%
Recommended APR
Base 9% + Grade B margin
28%
PTI ratio
Below 43% DTI threshold
Decision complete
Processed in 1.8s · FCRA compliant · Audit log saved

From application
to decision in seconds.

A transparent, auditable pipeline. Every step logged. Every decision explainable to regulators.

📋
STEP 01
Lender creates application
Via portal or API — consumer name, loan amount, product type. System generates a secure mobile-first invite link.
🪪
STEP 02
Consumer verifies identity
Persona KYC on their phone — government ID + selfie. Takes under 2 minutes. SSN hashed and anchored for cross-application matching.
🏦
STEP 03
Bank data pulled via Plaid
Up to 24 months of transactions — income, obligations, spending patterns, overdraft frequency, recurring payments.
💼
STEP 04
Employment verified via Argyle
Employer, tenure, income stability, pay frequency. Verified from payroll — not self-reported.
🧮
STEP 05
AltFiScore computed
200+ features. Score 300–1000, risk grade A+ through D, confidence level, PTI ratio, ECOA reason codes.
⚖️
STEP 06
8-gate decision engine
Score gates, DTI, amount caps, state compliance, OFAC/PEP screening, velocity, and your custom rules — all logged.
STEP 07
Decision delivered
Full credit report: Approved / Referred / Declined, amount, APR, term, grade, reason codes. Adverse action letters auto-generated.

The full financial picture.
Not just a bureau score.

🏦
Plaid
Bank data
Transaction history, income streams, account balances, recurring obligations, overdraft patterns.
💼
Argyle
Employment
Verified employment, income, tenure, pay frequency directly from payroll systems.
🏠
ATTOM
Property
Property ownership, estimated equity, housing status for mortgage and HELOC decisioning.
🌍
Nova Credit
International credit
Credit history from 20+ countries for immigrant applicants with no US bureau file.
🪪
Persona
Identity (KYC)
Government ID + selfie verification. SSN tracing, address history, watchlist screening.
🏘️
RentTrack
Rent payments
Verified rent payment history — a powerful predictor of creditworthiness for thin-file consumers.

Integrate in hours.
Score in seconds.

REST API with JWT auth. Webhooks for async delivery. Sandbox environment for testing. OpenAPI docs included.

Get API access →Talk to sales
score_request.py
import altfiscore

client = altfiscore.Client(
  api_key=<span style="color:#60a5fa">"altfi_live_xxxx"</span>
)

<span style="color:#888"># Score a consumer application</span>
score = client.score(
  application_id=<span style="color:#34d399">"app_abc123"</span>,
  sources=[<span style="color:#34d399">"plaid"</span>, <span style="color:#34d399">"argyle"</span>]
)

print(score.score_300_1000)  <span style="color:#888"># 742</span>
print(score.grade)           <span style="color:#888"># "B"</span>
print(score.decision)        <span style="color:#888"># "approved"</span>
print(score.apr_recommended) <span style="color:#888"># 11.4</span>

Ready to approve
more borrowers?

Start your free 30-day pilot. 50 decisions included. No card required. No bureau subscriptions needed.

Start free pilot →Talk to sales
30-day free trial
50 decisions included
FCRA compliant
No bureau required