Mova Credit Scoring

Other

Submit a loan application for AI credit risk scoring and human-gated credit decision via MOVA HITL. Trigger when the user mentions a loan application, credit assessment, borrower review, or asks to score credit risk. Human credit officer approval is mandatory before any credit decision is issued.

Install

openclaw skills install mova-credit-scoring

Contract Skill — A ready-to-use MOVA HITL workflow. Requires the openclaw-mova plugin.

MOVA Credit Scoring

Submit a loan application to MOVA for automated credit risk scoring — with explainable risk band, bureau check, and a mandatory human credit officer decision gate backed by a full audit trail.

What it does

  1. Risk scoring — AI evaluates income, debt-to-income ratio, bureau score, and repayment history against the scoring model
  2. Risk band — applicant assigned a risk band (excellent / good / fair / poor / very_poor) with score 0–1000
  3. Credit limit recommendation — AI suggests approved amount based on risk band and requested amount
  4. Human gate — credit officer reviews the scoring breakdown and chooses: approve / approve at reduced limit / reject / request more info
  5. Audit receipt — model version, all input features, the human identity, and the decision timestamp are logged for regulatory accountability

Mandatory escalation rules enforced by policy:

  • Risk band poor or very_poor → mandatory human review, cannot auto-approve
  • Requested amount above threshold → always routes to human gate
  • Bureau score missing or frozen → request_info required, no auto-decision

Requirements

Plugin: MOVA OpenClaw plugin must be installed in your OpenClaw workspace.

Data flows:

  • Applicant ID + financial data → api.mova-lab.eu (MOVA platform, EU-hosted)
  • Financial features → credit scoring model (server-side, read-only)
  • Applicant ID → credit bureau (read-only, no data stored)
  • Audit journal → MOVA R2 storage, signed
  • No data sent to third parties beyond the above

Demo

Step 1 — Application submitted: APP-2026-0041, €25K, bureau score 612 Step 1

Step 2 — AI scoring: risk band fair, DTI 0.017, approve_reduced recommended at €5K Step 2

Step 3 — Decision recorded: approve_reduced + audit receipt Step 3

Quick start

Say "score credit application APP-2026-0041 for applicant CUST-1501" and provide:

applicant_id: CUST-1501
application_id: APP-2026-0041
requested_amount_eur: 25000
annual_income_eur: 48000
monthly_debt_eur: 800
bureau_score: 610
employment_status: employed

The agent submits the application, shows the AI risk band and score breakdown, then asks for the credit officer's decision.

Why contract execution matters

  • Scoring rules are policy, not prompts — poor risk bands and high amounts trigger mandatory gates that cannot be bypassed
  • Full explainability — every contributing factor (income, debt ratio, bureau score) is surfaced with its weight
  • Immutable audit trail — when a regulator or applicant challenges a rejection, the complete scoring chain with timestamps is in the system
  • EU AI Act / CRD VI / EBA GL ready — credit decisions are high-risk AI outputs requiring human oversight, explainability, and a documented decision chain

What the user receives

OutputDescription
Credit score0–1000 numerical score
Risk bandexcellent / good / fair / poor / very_poor
Debt-to-income ratioCalculated from input data
Bureau resultBureau score + credit history summary
Anomaly flagshigh_dti, low_bureau_score, short_history, missing_bureau
FindingsStructured list with severity codes
Recommended credit limitAI-suggested approved amount
Recommended actionAI-suggested decision
Decision optionsapprove / approve_reduced / reject / request_info
Audit receipt IDPermanent signed record of the credit decision
Compact journalFull event log: scoring → bureau check → human decision

When to trigger

Activate when the user:

  • Mentions an application ID or loan request (e.g. "APP-2026-0041")
  • Says "score credit", "credit assessment", "loan decision", "assess borrower", "credit risk review"
  • Provides applicant financial data for a lending decision

Before starting, confirm: "Submit application [APP-ID] for MOVA credit scoring?"

If applicant ID or requested amount is missing — ask once.

Step 1 — Submit loan application

Call tool mova_hitl_start_credit with:

  • application_id: application reference (e.g. APP-2026-0041)
  • applicant_id: customer/borrower ID
  • requested_amount_eur: loan amount requested
  • annual_income_eur: applicant annual income
  • monthly_debt_eur: existing monthly debt obligations
  • bureau_score: credit bureau score (optional)
  • employment_status: employed / self_employed / unemployed / retired
  • loan_purpose: optional (mortgage, personal, auto, business)

Step 2 — Show scoring result and decision options

If status = "waiting_human" — show risk scoring summary and ask to choose:

Application:       APP-ID
Applicant:         CUST-ID
Score:             SCORE / 1000  (RISK_BAND)
DTI ratio:         DTI%
Bureau score:      BUREAU_SCORE
Recommended limit: EUR AMOUNT
Findings:          [list with severity]
Recommended action: ACTION ← RECOMMENDED
OptionDescription
approveApprove at requested amount
approve_reducedApprove at reduced credit limit
rejectReject application
request_infoRequest additional financial information

Call tool mova_hitl_decide with:

  • contract_id: from the response above — this is ctr-crd-xxxxxxxx, NOT the application ID
  • option: chosen decision
  • reason: credit officer reasoning

Step 3 — Show audit receipt

Call tool mova_hitl_audit with contract_id. Call tool mova_hitl_audit_compact with contract_id for the full signed scoring chain.

Connect your real credit systems

By default MOVA uses a sandbox mock. To route scoring against your live infrastructure, call mova_list_connectors with keyword: "credit".

Relevant connectors:

Connector IDWhat it covers
connector.credit.scoring_model_v1Internal credit scoring model
connector.credit.bureau_v1External credit bureau score and history

Call mova_register_connector with connector_id, endpoint, optional auth_header and auth_value.

Rules

  • NEVER make HTTP requests manually
  • NEVER invent or simulate credit scores — if a tool call fails, show the exact error
  • Use MOVA plugin tools directly — do NOT use exec or shell
  • CONTRACT_ID is ctr-crd-xxxxxxxx from the mova_hitl_start_credit response — NOT the application ID