Crypto loan repayment: from email panic to self-service at scale hero image

Crypto loan repayment: from email panic to self-service at scale

10x operational scale, 40% fewer liquidations, 60% fewer support tickets

Timeline: 2019-2020
Company: Ledn
Team: 1 PM, 3 engineers, 1 UX researcher

Overview

Ledn's email-based loan repayment process with 10-minute countdown timers drove 68% abandonment and 60% of support tickets. I built in-platform repayment with visual loan health indicators and eliminated time pressure, scaling operations 10x (50 to 500+ loans) with the same team while reducing liquidations by 40% through proactive risk warnings.

Problem

Ledn's email-based loan repayment couldn't scale. Users had 10 minutes to reply "I ACCEPT" via email or start over. At 500+ active loans, this manual process drove 60% of support tickets and prevented the operations team from focusing on actual customer problems.

Email screenshot showing repayment quote with 10-minute timer

The old flow: email quote with 10-minute countdown timer

The pattern broke down: request quote, wait for email, panic about countdown, reply "I ACCEPT," hope it processes before expiration. Miss the window? Start from scratch.

graph LR
    Start([Initiate repayment]):::startNode
    Email[Send email quote]:::systemAction
    Check{Responds within
10 mins?}:::decision Process([Payment processed]):::success Expire[Quote expires]:::systemAction Abandon([Give up]):::error Restart[Start over]:::retry Start --> Email Email --> Check Check -->|Yes| Process Check -->|No| Expire Expire -.->|68%| Abandon Expire -.->|32%| Restart Restart -.-> Email classDef startNode fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#92400E classDef systemAction fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#1E3A8A classDef decision fill:#E9D5FF,stroke:#A855F7,stroke-width:2px,color:#6B21A8 classDef success fill:#D1FAE5,stroke:#10B981,stroke-width:2px,color:#065F46 classDef error fill:#FEE2E2,stroke:#EF4444,stroke-width:2px,color:#991B1B classDef retry fill:#FED7AA,stroke:#F97316,stroke-width:2px,color:#9A3412

Old flow: email-based quotes created anxiety loops and 68% abandonment

User interviews with 12 active borrowers confirmed timer anxiety as the primary pain point, not repayment complexity. The LTV ratio was visible in their account but meaningless: users couldn't tell if they were safe or at risk of liquidation. Email quote breakdowns had no visual hierarchy, forcing users to pull out calculators to understand what they'd pay.

I focused the solution on three goals: eliminate time pressure entirely, make loan health status actionable (not just informational), and turn financial math into visual math.

Solution

I built an in-platform repayment system that removed time pressure and made loan health actionable.

graph LR
    Start([Initiate repayment]):::startNode
    CheckLTV[Check loan status]:::systemAction
    Choose[Select payment method]:::systemAction
    Confirm[Review & confirm]:::systemAction
    Complete([Payment processed]):::success

    Start --> CheckLTV
    CheckLTV --> Choose
    Choose --> Confirm
    Confirm --> Complete

    classDef startNode fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#92400E
    classDef systemAction fill:#DBEAFE,stroke:#3B82F6,stroke-width:2px,color:#1E3A8A
    classDef success fill:#D1FAE5,stroke:#10B981,stroke-width:2px,color:#065F46

New flow: linear path from start to finish, no loops, no time pressure

Made loan health visible, not just informational

The LTV ratio existed but told users nothing. I redesigned it as a color-coded status system (green = safe buffer, yellow = monitor, red = act now before liquidation), mirroring how users already think about risk: traffic lights. This made the abstract number actionable.

Loan status modal with prominent LTV indicator

Before: LTV was a number. After: color-coded states show exactly when to act

Turned email math into visual math

Repayment confirmations were walls of text in email. I redesigned them as simple subtraction: Bitcoin collateral amount - loan amount = what you keep.

Repayment confirmation modal with clear math breakdown

Visual breakdown replaced confusing email calculations

Shipped pragmatic, not perfect

Banking limitations meant some payment methods couldn't be fully automated. I had a choice: wait for full automation across all payment types, or ship a mix of automated and manual flows now. I chose pragmatic. Crypto liquidations (highest volume, instant settlement, biggest support burden) got full automation. Bank transfers got a guided manual flow with clear next steps. This let us ship in 2020 and solve the actual problem (time pressure and confusion) without waiting for banking APIs to catch up. Delaying would have left the broken email flow in production for another year.

Outcome

Repayment-related support tickets dropped 60%. The operations team scaled from 50 to 500+ active loans with the same headcount, saving 15+ hours per week previously spent coordinating individual repayments. Proactive LTV warnings reduced liquidations by 40%, protecting customer assets that would have been lost to confusion.

What worked, what I'd change

The traffic light LTV system worked because it matched how users already think about risk. Adoption was immediate, no education needed. Comparing old and new flows as diagrams during stakeholder reviews made the improvement obvious in a way that written specs couldn't.

I'd push harder on bank transfer automation earlier. We shipped pragmatic manual flows to avoid delaying the launch, but they became a technical debt burden. If I'd pushed on banking API integrations in parallel with design, we could have shipped full automation within 6 months of launch instead of living with partial manual flows longer than necessary.