---
title: Cred Clone Features
description: 
url: https://miracuves.com/cred-clone/features
date_modified: 2026-08-25
author: miracuves
language: en_US
---

.mcv-crf{
    --crimson:#e8344f; --crimson-deep:#a70d2a; --crimson-hot:#d81b46; --crimson-light:#ff8090;
    --amber:#fbbf24; --black:#0a0a0a; --white:#ffffff; --paper:#faf8f8; --ink:#191419; --ink-dim:#6d666d;
    --line:rgba(11,11,16,0.1); --line-light:rgba(255,255,255,0.12);
    --card-bg:rgba(8,3,8,0.82);
    font-family:'Plus Jakarta Sans',Arial,sans-serif; color:var(--ink); background:var(--white); margin:0; padding:0;
  }
  .mcv-crf *{ box-sizing:border-box; }
  .mcv-crf h1,.mcv-crf h2,.mcv-crf h3{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:800; margin:0; letter-spacing:-0.02em; line-height:1.12; }
  .mcv-crf p{ margin:0 0 14px; line-height:1.7; color:var(--ink); }
  .mcv-crf a{ color:var(--crimson-deep); text-decoration:none; }
  .mcv-crf .mono{ font-family:'JetBrains Mono',monospace; }
  .mcv-crf-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:2; }
  .mcv-crf-bleed{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; }

  .mcv-seo-ref{ background:#FFF7E0; border:2px dashed #C79A00; padding:18px 22px; font-family:Arial,sans-serif; font-size:13px; color:#4A3B00; max-width:1180px; margin:18px auto; border-radius:8px; }

  .mcv-crf-crumb{ display:flex; gap:8px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.62); margin-bottom:20px; }
  .mcv-crf-crumb a{ color:rgba(255,255,255,.62); }
  .mcv-crf-crumb a:hover{ color:var(--crimson-light); }
  .mcv-crf-crumb span.sep{ opacity:.5; }
  .mcv-crf-crumb span.cur{ color:rgba(255,255,255,.75); }

  .mcv-crf-eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:7px 16px; border-radius:100px; background:rgba(255,255,255,.06); border:1px solid var(--line-light); font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--crimson-light); margin-bottom:22px; }
  .mcv-crf-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--crimson); }

  .mcv-crf-hero{ background:radial-gradient(ellipse 900px 500px at 85% -10%, rgba(232,52,79,.16), transparent), #0a0a0a; color:#fff; padding:56px 0 150px; position:relative; overflow:hidden; }
  .mcv-crf-hero .ring{ position:absolute; border:2px solid rgba(232,52,79,.18); border-radius:50%; pointer-events:none; }
  .mcv-crf-hero .ring1{ width:560px; height:560px; top:-260px; right:-200px; }
  .mcv-crf-hero .ring2{ width:340px; height:340px; bottom:-200px; right:120px; border-color:rgba(232,52,79,.1); }
  .mcv-crf-herogrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .mcv-crf-hero h1{ font-size:clamp(27px,3.9vw,44px); color:#fff; }
  .mcv-crf-hero h1 em{ font-style:normal; color:#ff8090; }
  .mcv-crf-hero p.sub{ font-size:16px; color:rgba(255,255,255,.68); max-width:600px; margin:20px 0 30px; }

  .mcv-crf a.mcv-crf-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; background:linear-gradient(160deg,#d81b46,#e8344f); color:#fff; font-weight:700; font-size:15px; padding:15px 28px; box-shadow:0 10px 30px rgba(232,52,79,.3); transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
  .mcv-crf a.mcv-crf-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-crf a.mcv-crf-btn-outline{ display:inline-flex; align-items:center; border:2px solid rgba(255,255,255,.7); color:#fff; border-radius:12px; font-weight:700; font-size:15px; padding:13px 26px; margin-left:12px; transition:all .2s; }
  .mcv-crf a.mcv-crf-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

  .mcv-crf-trust{ display:flex; flex-wrap:wrap; gap:22px; margin-top:34px; padding-top:24px; border-top:1px solid var(--line-light); }
  .mcv-crf-trust-item{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(255,255,255,.6); }
  .mcv-crf-trust-item strong{ font-family:'JetBrains Mono',monospace; color:#fff; font-size:14px; }

  .mcv-crf-cardstack{ position:relative; height:340px; }
  .mcv-crf-fincard{ position:absolute; width:300px; height:180px; border-radius:18px; padding:22px; background:linear-gradient(150deg,#1c1418,#0d0709); border:1px solid var(--line-light); box-shadow:0 30px 70px rgba(0,0,0,.5); }
  .mcv-crf-fincard.c1{ top:0; left:10px; z-index:1; opacity:.5; transform:rotate(-6deg) scale(.92); }
  .mcv-crf-fincard.c2{ top:30px; left:40px; z-index:2; background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border-color:rgba(232,52,79,.3); box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-crf-fincard .brand{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
  .mcv-crf-fincard .chip{ width:34px; height:24px; border-radius:5px; background:linear-gradient(135deg,#ff8090,#e8344f); margin:22px 0 18px; }
  .mcv-crf-fincard .num{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; letter-spacing:.1em; }
  .mcv-crf-fincard .curr{ position:absolute; bottom:22px; right:22px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#ff8090; }
  .mcv-crf-float{ position:absolute; background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:14px; padding:12px 16px; box-shadow:0 16px 40px rgba(0,0,0,.35); z-index:3; }
  .mcv-crf-float .k2{ font-family:'JetBrains Mono',monospace; font-size:10px; color:#ff8090; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
  .mcv-crf-float .v{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; font-weight:700; }
  .mcv-crf-float-1{ top:-10px; right:0; }
  .mcv-crf-float-2{ bottom:10px; left:0; }

  .mcv-crf-statbar{ margin-top:-72px; position:relative; z-index:3; }
  .mcv-crf-statbar .inner{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:32px 20px; display:grid; grid-template-columns:repeat(4,1fr); }
  .mcv-crf-statbar .stat{ text-align:center; padding:0 12px; border-right:1px solid var(--line-light); }
  .mcv-crf-statbar .stat:last-child{ border-right:none; }
  .mcv-crf-statbar .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:22px; color:#ff8090; }
  .mcv-crf-statbar .lbl{ font-size:11.5px; color:rgba(255,255,255,.62); margin-top:6px; line-height:1.4; }

  .mcv-crf-section{ padding:100px 0 76px; }
  .mcv-crf-section.paper{ background:#faf8f8; }
  .mcv-crf-section.tight{ padding-top:76px; }
  .mcv-crf-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .mcv-crf-head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-crf-head h2{ font-size:clamp(22px,3vw,34px); color:#191419; }
  .mcv-crf-head p{ color:#6d666d; margin-top:14px; }

  .mcv-crf-rolegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-crf-rolecard{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-crf-rolecard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-crf-roleicon{ width:40px; height:40px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-crf-rolecard h3{ font-size:17px; margin-bottom:12px; color:#191419; }
  .mcv-crf-rolecard ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-crf-rolecard li{ margin-bottom:8px; line-height:1.5; }

  .mcv-crf-tablewrap{ overflow-x:auto; border-radius:16px; box-shadow:0 12px 34px rgba(0,0,0,.07); border:1px solid var(--line); }
  table.mcv-crf-table{ border-collapse:collapse; width:100%; min-width:680px; background:#fff; font-size:13.5px; }
  table.mcv-crf-table th{ background:#0a0a0a; color:#ffffff; text-align:left; padding:14px 16px; font-family:'JetBrains Mono',monospace; font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
  table.mcv-crf-table td{ padding:14px 16px; border-bottom:1px solid rgba(11,11,16,0.1); vertical-align:top; color:#191419; }
  table.mcv-crf-table td.hl{ background:rgba(232,52,79,.06); border-top:3px solid #e8344f; font-weight:600; color:#191419; }
  table.mcv-crf-table th.hl{ background:#e8344f; color:#ffffff; }
  table.mcv-crf-table tbody tr:hover td{ background:#f4f1f1; color:#191419; }
  table.mcv-crf-table tbody tr:hover td.hl{ background:rgba(232,52,79,.13); color:#191419; }
  table.mcv-crf-table tr:last-child td{ border-bottom:none; }
  .mcv-crf-note{ font-size:12.5px; color:#6d666d; margin-top:12px; }

  .mcv-crf-callout{ background:linear-gradient(135deg,#2B0710,#4A0F1E); color:#fff; border-radius:20px; padding:40px 44px; }
  .mcv-crf-callout h2,.mcv-crf-callout h3{ color:#fff; font-size:22px; margin-bottom:12px; }
  .mcv-crf-callout p{ color:rgba(255,255,255,.78); font-size:14.5px; margin:0; }

  .mcv-crf-honest{ background:#fff; border:1px solid var(--line); border-left:4px solid #fbbf24; border-radius:14px; padding:28px 30px; }
  .mcv-crf-honest h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-crf-honestgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; }
  .mcv-crf-honestgrid div{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:18px; position:relative; }
  .mcv-crf-honestgrid div::before{ content:'!'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#8a6100; }

  .mcv-crf-cs{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px 34px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; box-shadow:0 8px 24px rgba(0,0,0,.05); }
  .mcv-crf-cs-badge{ display:inline-flex; align-items:center; gap:7px; padding:6px 14px; border-radius:100px; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-crf-cs-badge .dot{ width:6px; height:6px; border-radius:50%; background:#e8344f; }
  .mcv-crf-cs-body{ flex:1; min-width:260px; }
  .mcv-crf-cs-body h3{ font-size:16.5px; margin-bottom:6px; color:#191419; }
  .mcv-crf-cs-body p{ color:#6d666d; font-size:13.5px; margin:0; max-width:460px; }
  .mcv-crf a.mcv-crf-cs-link{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#a70d2a; white-space:nowrap; }

  .mcv-crf-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:1000px; margin:0 auto; }
  .mcv-crf-faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
  .mcv-crf-faq summary{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:700; font-size:15px; color:#191419; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .mcv-crf-faq summary::-webkit-details-marker{ display:none; }
  .mcv-crf-faq summary::after{ content:'+'; font-family:'JetBrains Mono',monospace; color:#a70d2a; font-size:20px; font-weight:700; flex:none; }
  .mcv-crf-faq details[open] summary::after{ content:'\2212'; }
  .mcv-crf-faq .a{ color:#6d666d; font-size:13.5px; margin-top:10px; line-height:1.65; }

  .mcv-crf-cta{ background:linear-gradient(120deg,#e8344f,#6e0e1f); color:#fff; padding:64px 0; position:relative; overflow:hidden; }
  .mcv-crf-cta .ring{ position:absolute; border:2px solid rgba(255,255,255,.14); border-radius:50%; width:360px; height:360px; top:-140px; right:-100px; }
  .mcv-crf-cta .flex{ display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; position:relative; z-index:2; }
  .mcv-crf-cta h2{ color:#fff; font-size:clamp(20px,2.6vw,28px); margin-bottom:8px; }
  .mcv-crf-cta p{ color:rgba(255,255,255,.82); margin:0; max-width:460px; }
  .mcv-crf-cta a.mcv-crf-btn-outline{ border-color:#fff; }
  .mcv-crf-cta a.mcv-crf-btn{ background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.2); }
  .mcv-crf-cta a.mcv-crf-btn,.mcv-crf-cta a.mcv-crf-btn:hover{ color:#a70d2a; }

  .mcv-crf-explore{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .mcv-crf a.mcv-crf-pill{ font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; padding:10px 18px; border-radius:100px; border:1px solid var(--line); color:#191419; background:#fff; transition:all .2s; }
  .mcv-crf a.mcv-crf-pill:hover{ border-color:#e8344f; color:#a70d2a; text-decoration:none; }
  .mcv-crf a.mcv-crf-pill.cur{ background:#191419; color:#fff; border-color:#191419; }

  .mcv-crf-finalcta{ background:#0a0a0a; color:#fff; text-align:center; padding:96px 24px 64px; position:relative; overflow:hidden; }
  .mcv-crf-finalcta .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; }
  .mcv-crf-finalcta .ring1{ width:480px; height:480px; top:-220px; left:-160px; }
  .mcv-crf-finalcta .ring2{ width:300px; height:300px; bottom:-180px; right:-90px; }
  .mcv-crf-finalcta .card{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:24px; padding:56px 40px; max-width:720px; margin:0 auto; position:relative; z-index:2; }
  .mcv-crf-finalcta h2{ color:#fff; font-size:clamp(24px,3.2vw,34px); max-width:640px; margin:0 auto 14px; }
  .mcv-crf-finalcta p.sub{ color:rgba(255,255,255,.7); max-width:520px; margin:0 auto 30px; }
  .mcv-crf-footerbar{ max-width:1180px; margin:56px auto 0; padding-top:28px; border-top:1px solid var(--line-light); position:relative; z-index:2; }
  .mcv-crf-byline{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.12); padding-bottom:16px; margin-bottom:12px; }
  .mcv-crf-byline strong{ color:#fff; font-weight:600; }
  .mcv-crf-byline .dotsep{ opacity:.4; }
  .mcv-crf-footermeta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,255,255,.55); }

  @media (max-width:900px){
    .mcv-crf-herogrid{ grid-template-columns:1fr; }
    .mcv-crf-statbar .inner{ grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .mcv-crf-statbar .stat:nth-child(2){ border-right:none; }
    .mcv-crf-rolegrid{ grid-template-columns:1fr; }
    .mcv-crf-honestgrid{ grid-template-columns:1fr; }
    .mcv-crf-faqgrid{ grid-template-columns:1fr; }
    .mcv-crf-hero h1{ font-size:27px; }
    .mcv-crf-cta .flex{ flex-direction:column; align-items:flex-start; }
    .mcv-crf-cardstack{ height:260px; }
    .mcv-crf-fincard{ width:250px; height:150px; }
  }
  @media (prefers-reduced-motion: reduce){ .mcv-crf *{ animation:none !important; transition:none !important; } }
  /* --- components used by cost / company / business-model --- */
  .mcv-crf-pricecard{ background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border:1px solid rgba(232,52,79,.3); border-radius:22px; padding:34px 32px; box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-crf-pricecard .plan{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#ff8090; margin-bottom:14px; }
  .mcv-crf-pricecard .amt{ font-family:'JetBrains Mono',monospace; font-size:44px; font-weight:700; color:#fff; line-height:1; }
  .mcv-crf-pricecard .per{ font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; }
  .mcv-crf-pricecard ul{ margin:22px 0 0; padding-left:18px; color:rgba(255,255,255,.78); font-size:13.5px; }
  .mcv-crf-pricecard li{ margin-bottom:8px; line-height:1.5; }
  .mcv-crf-drivers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-crf-driver{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-crf-driver:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-crf-driver h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-crf-driver p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-crf-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .mcv-crf-step{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:24px 22px; }
  .mcv-crf-step .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:8px; }
  .mcv-crf-step h3{ font-size:15.5px; margin-bottom:8px; color:#191419; }
  .mcv-crf-step p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-crf-checkgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
  .mcv-crf-check{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:20px 22px; }
  .mcv-crf-check h3{ font-size:15px; margin-bottom:8px; color:#191419; }
  .mcv-crf-check p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-crf-flags{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .mcv-crf-flag{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:22px; position:relative; }
  .mcv-crf-flag::before{ content:'\2715'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; }
  .mcv-crf-pt{ background:radial-gradient(ellipse 800px 400px at 20% 0%, rgba(232,52,79,.14), transparent), #0a0a0a; color:#fff; padding:92px 0 84px; }
  .mcv-crf-pt .mcv-crf-head h2{ color:#fff; }
  .mcv-crf-pt .mcv-crf-head p{ color:rgba(255,255,255,.68); }
  .mcv-crf-pt .mcv-crf-head .kicker{ color:#ff8090; }
  .mcv-crf-ptgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mcv-crf-ptcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:26px 24px; }
  .mcv-crf-ptcard h3{ font-size:15.5px; color:#fff; margin-bottom:10px; }
  .mcv-crf-ptcard p{ font-size:13.5px; color:rgba(255,255,255,.72); margin:0; }
  .mcv-crf-ptcard .tag{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; border:1px solid rgba(232,52,79,.35); border-radius:100px; padding:3px 10px; margin-bottom:12px; }
  .mcv-crf-csbox{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:22px; padding:40px 42px; box-shadow:0 12px 34px rgba(0,0,0,.06); }
  .mcv-crf-csmeta{ display:flex; flex-wrap:wrap; gap:26px; margin:22px 0 26px; padding:20px 0; border-top:1px solid rgba(11,11,16,0.1); border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-crf-csmeta div{ font-size:13px; color:#6d666d; }
  .mcv-crf-csmeta strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:18px; color:#191419; margin-bottom:2px; }
  .mcv-crf-cscols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .mcv-crf-cscols h4{ font-size:13px; font-family:'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin:0 0 10px; }
  .mcv-crf-cscols ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-crf-cscols li{ margin-bottom:8px; line-height:1.5; }
  .mcv-crf-quote{ margin-top:28px; padding:24px 26px; background:#faf8f8; border-left:3px solid #e8344f; border-radius:0 12px 12px 0; }
  .mcv-crf-quote p{ font-size:15px; font-style:italic; color:#191419; margin:0 0 10px; }
  .mcv-crf-quote .who{ font-family:'JetBrains Mono',monospace; font-size:12px; color:#6d666d; font-style:normal; }
  .mcv-crf-revgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-crf-revcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-crf-revcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-crf-revcard .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; }
  .mcv-crf-revcard h3{ font-size:16.5px; margin-bottom:10px; color:#191419; }
  .mcv-crf-revcard p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-crf-revcard .core{ display:inline-block; margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); border-radius:100px; padding:3px 10px; }
  .mcv-crf-disclose{ background:#faf8f8; border:1px dashed rgba(11,11,16,0.1); border-radius:14px; padding:26px 28px; max-width:860px; margin:0 auto; }
  .mcv-crf-disclose h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-crf-disclose p{ font-size:13.5px; color:#6d666d; margin:0 0 10px; }
  .mcv-crf-disclose p:last-child{ margin-bottom:0; }
  .mcv-crf-callout .figs{ display:flex; flex-wrap:wrap; gap:32px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12); }
  .mcv-crf-callout .figs div{ font-size:12.5px; color:rgba(255,255,255,.65); }
  .mcv-crf-callout .figs strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:20px; color:#fff; margin-bottom:3px; }
  @media (max-width:900px){
    .mcv-crf-drivers,.mcv-crf-steps,.mcv-crf-checkgrid,.mcv-crf-flags,.mcv-crf-ptgrid,.mcv-crf-cscols,.mcv-crf-revgrid{ grid-template-columns:1fr; }
    .mcv-crf-csbox{ padding:28px 24px; }
  }
  /* ===== components ported from the shipped reference bundle (instagram-clone) ===== */
  .mcv-crf-aside{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 16px 16px 0; padding:32px 36px; }
  .mcv-crf-aside h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-crf-aside ul{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
  .mcv-crf-aside li{ padding-left:18px; position:relative; font-size:14px; color:#191419; line-height:1.6; }
  .mcv-crf-aside li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; background:#e8344f; transform:rotate(45deg); }
  .mcv-crf-aside li span{ color:#6d666d; display:block; font-size:12.5px; margin-top:2px; }
  .mcv-crf-flowrow{ display:grid; grid-template-columns:64px 1fr; gap:22px; padding:28px 0; border-bottom:1px solid rgba(11,11,16,0.1); align-items:start; }
  .mcv-crf-flowrow:last-child{ border-bottom:none; }
  .mcv-crf-flowrow h3{ font-size:18px; margin-bottom:8px; color:#191419; }
  .mcv-crf-flowrow p{ color:#6d666d; font-size:14.5px; margin:0; max-width:760px; }
  .mcv-crf-flownum{ width:56px; height:56px; border-radius:50%; border:1.5px solid rgba(11,11,16,0.1); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; font-size:16px; }
  .mcv-crf-icongrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .mcv-crf-iconitem{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:22px 24px; display:flex; gap:14px; align-items:flex-start; box-shadow:0 6px 18px rgba(0,0,0,.05); }
  .mcv-crf-iconitem h3{ font-size:15px; margin-bottom:6px; color:#191419; }
  .mcv-crf-iconitem p{ font-size:13px; color:#6d666d; margin:0; }
  .mcv-crf-icondot{ width:34px; height:34px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); flex:none; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-crf-steprow{ display:flex; gap:24px; padding:22px 0; border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-crf-steprow:last-child{ border-bottom:none; }
  .mcv-crf-step-num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:#a70d2a; flex:none; width:90px; padding-top:2px; }
  .mcv-crf-step-body h3{ font-size:17px; color:#191419; margin-bottom:6px; }
  .mcv-crf-step-body p{ font-size:14.5px; color:#6d666d; margin:0; }
  .mcv-crf-trustband{ background:#0a0a0a; color:#fff; padding:96px 0; position:relative; overflow:hidden; }
  .mcv-crf-trustband .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; width:420px; height:420px; top:-160px; left:-140px; }
  .mcv-crf-trustband .head{ text-align:center; max-width:720px; margin:0 auto 44px; position:relative; z-index:2; }
  .mcv-crf-trustband .head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#ff8090; margin-bottom:12px; }
  .mcv-crf-trustband .head h2{ color:#fff; font-size:clamp(22px,3vw,34px); }
  .mcv-crf-trustband .head p{ color:rgba(255,255,255,.68); margin-top:14px; }
  /* the band markup uses the prefixed head class, so scope the light colours to it explicitly -
     without this the h2 falls through to .mcv-crf-head h2 (#191419) and vanishes on the black band */
  .mcv-crf-trustband .mcv-crf-head h2{ color:#ffffff; font-size:clamp(22px,3vw,34px); }
  .mcv-crf-trustband .mcv-crf-head p{ color:rgba(255,255,255,0.68); }
  .mcv-crf-trustband .mcv-crf-head .kicker{ color:#ff8090; }
.mcv-crf-trustband .mcv-crf-note{ color:rgba(255,255,255,0.68); }
.mcv-crf-pt .mcv-crf-note{ color:rgba(255,255,255,0.68); }
  .mcv-crf-trustgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:2; }
  .mcv-crf-trustcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:26px 22px; }
  .mcv-crf-trustcard h3{ color:#fff; font-size:15px; margin-bottom:8px; }
  .mcv-crf-trustcard p{ color:rgba(255,255,255,.68); font-size:13px; margin:0; line-height:1.55; }
  .mcv-crf-trusticon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.16); border:1px solid rgba(232,52,79,.4); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .mcv-crf-scorecard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; }
  .mcv-crf-scorecard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:16px; }
  .mcv-crf-scorerow{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
  .mcv-crf-scorerow:last-child{ border-bottom:none; }
  .mcv-crf-scorerow .lbl2{ font-size:12.5px; color:rgba(255,255,255,.75); }
  .mcv-crf-scorerow .val{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:#fff; }
  .mcv-crf-scorerow .val.good{ color:#ff8090; }
  /* scorecard is a DARK card sitting in a light section. Rows authored as
     **label**text inherit var(--ink) and vanish (1.13:1).
     Give them light ink and stack them; .lbl2/.val two-column rows are untouched. */
  .mcv-crf-scorerow{ flex-wrap:wrap; }
  .mcv-crf-scorecard > .mcv-crf-scorerow > strong{ flex:1 0 100%; color:#ffffff; font-size:14.5px; margin-bottom:4px; }
  .mcv-crf-scorecard > .mcv-crf-scorerow > span{ flex:1 0 100%; color:rgba(255,255,255,0.78); font-size:13px; line-height:1.62; }
  .mcv-crf-cs-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
  .mcv-crf-cs-top p{ color:#6d666d; font-size:14.5px; max-width:480px; margin:0; }
  .mcv-crf-cs-meta{ text-align:right; font-size:13.5px; }
  .mcv-crf-cs-meta strong{ display:block; color:#191419; font-size:14.5px; }
  .mcv-crf-cs-meta .lbl{ font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#6d666d; margin:2px 0 12px; }
  .mcv-crf-cs-stats{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(11,11,16,0.1); border-radius:16px; margin-bottom:24px; overflow:hidden; }
  .mcv-crf-cs-stat{ text-align:center; padding:22px 12px; border-right:1px solid rgba(11,11,16,0.1); }
  .mcv-crf-cs-stat:last-child{ border-right:none; }
  .mcv-crf-cs-stat .v{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:26px; color:#a70d2a; }
  .mcv-crf-cs-stat .l{ font-size:12.5px; color:#6d666d; margin-top:4px; }
  .mcv-crf-cs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .mcv-crf-cs-box{ background:#faf8f8; border-radius:14px; padding:22px 24px; }
  .mcv-crf-cs-box .h{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6d666d; margin-bottom:12px; }
  .mcv-crf-cs-box ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
  .mcv-crf-cs-box li{ padding-left:16px; position:relative; font-size:13.5px; color:#191419; line-height:1.55; }
  .mcv-crf-cs-box li::before{ content:''; position:absolute; left:0; top:7px; width:6px; height:6px; background:#e8344f; transform:rotate(45deg); }
  .mcv-crf-cs-quote{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 14px 14px 0; padding:22px 26px; margin-top:16px; display:flex; gap:16px; align-items:flex-start; }
  .mcv-crf-cs-quote p{ font-style:italic; font-size:15px; color:#191419; margin:0 0 10px; }
  .mcv-crf-cs-avatar{ width:38px; height:38px; border-radius:50%; background:#a70d2a; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; flex:none; }
  .mcv-crf-cs-who strong{ display:block; font-size:13.5px; color:#191419; }
  .mcv-crf-cs-who span{ font-size:12.5px; color:#6d666d; }
  .mcv-crf-cs-foot{ margin-top:20px; padding-top:16px; border-top:1px solid rgba(11,11,16,0.1); font-size:12.5px; color:#6d666d; }
  .mcv-crf-mockwrap{ position:relative; }
  .mcv-crf-chartcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; position:relative; }
  .mcv-crf-chartcard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:18px; }
  .mcv-crf-chartcard .mcv-crf-barrow{ display:flex; align-items:center; gap:14px; height:auto; margin:0 0 14px; }
  .mcv-crf-chartcard .mcv-crf-barrow .l{ flex:0 0 140px; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.78); }
  .mcv-crf-chartcard .mcv-crf-barrow>.bar{ flex:1; height:8px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; }
  .mcv-crf-chartcard .mcv-crf-barrow>.bar>.mcv-crf-barcol{ height:8px; border-radius:999px; background:linear-gradient(90deg,#ff8090,#d81b46); }
  .mcv-crf-chartcard .note{ margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12); font-size:11.5px; line-height:1.5; color:rgba(255,255,255,.62); }
  .mcv-crf-seggrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .mcv-crf-segcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:26px 22px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-crf-segcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-crf-segcard h3{ color:#191419; font-size:15.5px; margin-bottom:8px; }
  .mcv-crf-segcard p{ color:#6d666d; font-size:13px; margin:0; line-height:1.55; }
  .mcv-crf-segicon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; transition:background .3s; }
  .mcv-crf-modelgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-crf-modelcard{ position:relative; background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; overflow:hidden; }
  .mcv-crf-modelcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-crf-modelcard .ghost{ position:absolute; top:-4px; right:6px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:64px; color:#000; opacity:.045; line-height:1; }
  .mcv-crf-modelcard:hover .ghost{ color:#e8344f; opacity:.09; }
  .mcv-crf-modelcard .stage{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; position:relative; }
  .mcv-crf-modelcard h3{ font-size:16.5px; margin-bottom:8px; position:relative; color:#191419; }
  .mcv-crf-modelcard p{ font-size:13.5px; color:#6d666d; margin:0; line-height:1.55; position:relative; }
  .mcv-crf-streamlist{ display:flex; flex-direction:column; gap:9px; }
  .mcv-crf-streamrow{ display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid rgba(255,255,255,0.12); border-radius:10px; background:rgba(255,255,255,.03); }
  .mcv-crf-streamrow .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; color:#ff8090; }
  .mcv-crf-streamrow .s{ font-size:13px; color:#fff; font-weight:600; }
  @media (max-width:900px){
    .mcv-crf-aside ul{ grid-template-columns:1fr; }
    .mcv-crf-flowrow{ grid-template-columns:48px 1fr; gap:16px; }
    .mcv-crf-flownum{ width:44px; height:44px; font-size:14px; }
    .mcv-crf-icongrid,.mcv-crf-cs-grid,.mcv-crf-modelgrid{ grid-template-columns:1fr; }
    .mcv-crf-trustgrid,.mcv-crf-seggrid{ grid-template-columns:1fr 1fr; }
    .mcv-crf-cs-stats{ grid-template-columns:1fr; }
    .mcv-crf-cs-stat{ border-right:none; border-bottom:1px solid rgba(11,11,16,0.1); }
    .mcv-crf-cs-stat:last-child{ border-bottom:none; }
    .mcv-crf-cs-top,.mcv-crf-steprow{ flex-direction:column; }
    .mcv-crf-cs-meta{ text-align:left; }
    .mcv-crf-chartcard .mcv-crf-barrow{ gap:10px; }
    .mcv-crf-chartcard .mcv-crf-barrow .l{ flex:0 0 104px; font-size:11.5px; }
  }
* + .mcv-crf-callout{ margin-top:22px; }
.mcv-crf-cta .mcv-crf-byline,.mcv-crf-cta .mcv-crf-footerbar{ color:#ffffff; }
.mcv-crf-cta .mcv-crf-byline .dotsep{ opacity:.65; }
.mcv-crf-trustband .kicker,.mcv-crf-pt .kicker{ color:var(--crimson-light); }
.mcv-crf-cta .kicker{ color:#ffffff; }
.mcv-crf-cta .mcv-crf-footermeta{ color:#ffffff; }
@media (max-width:560px){ .mcv-crf-trustgrid,.mcv-crf-seggrid{ grid-template-columns:1fr; } }

    
    
      
        
          
            [Home](/)/[Cred Clone](/cred-clone/)/Features
          
          Cred Clone · Features
          
# Cred Clone Features: One Vault, Every Issuer

          
The difficulty in a credit super-app is never the dashboard. It is a reward balance that has to reconcile like a liability, a bill reminder that has to fire on the right day for the right member, and a score screen that has to explain itself rather than print a number. Those are the parts already built here, across fourteen product engines on one codebase. Here is what ships, grouped by who touches it.

          [Request a Live Demo →](https://miracuves.com/schedule-consultation/)[See Pricing](/cred-clone/development-cost/)
          
            **14** engines, one codebase
            **3** surfaces, one API
            **6 days** to deploy
          
        
        
          Points balanceA liability, not a cache
          
            What One Bill Payment Touches
            
              01Bill fetched from the biller catalog
              02Autopay rule checked, reminder cleared
              03Payment written with a reference number
              04Card utilization recalculated
              05Points accrued, streak advanced
              06Tier ladder and leaderboard updated
            
          
        
      
    
  

  
    
      
        14Product Engines in the Base Build
        295Mobile Screens Shipped
        35Prisma Models on PostgreSQL
        24Admin Sections
      
    
  

  
    
      
        By Role
        
## Feature Set by Role

        
Three surfaces run from one platform and one API. Web and mobile execute the same flows, so a payment made on the phone appears in the browser without a second integration.

      
      
        
          01
          
### The Card Holder

          
Every card the member holds sits in one vault with its limit, available credit, statement date, due date, issuer and network. Utilization is calculated per card with good, warning and critical states, and the due date and minimum payment appear in the same card so the nudge carries context. This is the single view no issuer app can produce, because each issuer only knows its own card.

        
        
          02
          
### The Bill Payer

          
A biller catalog with categories, one-shot bill fetch, upcoming and paid views, and a payment ledger carrying a reference number for audit. Autopay rules run per bill through a setup wizard, and a daily reminder job fires against the member's own due dates. Bill payment is the highest-frequency reason a member opens the app, which is what makes every other engine worth building.

        
        
          03
          
### The Score Watcher

          
Score history over time, a factor breakdown separating positive from negative impact, per-card utilization with due dates, and an alert feed. The point is a screen that explains itself rather than printing a number. The bureau connection is yours to supply; the intelligence layer above it is built and complete.

        
        
          04
          
### The Points Collector

          
XP and levels, a bronze to diamond tier ladder, streaks, achievements and leaderboards across five categories, feeding a reward catalog with real inventory accounting and an append-only redemption ledger. Gamification is native rather than bolted on, because a loyalty vendor cannot reach into the actions that actually matter.

        
        
          05
          
### The Premium Member

          
Monthly and yearly plans with a premium flag checked server-side rather than hidden in the interface, gating advanced analytics, AI insights and exclusive offers. Budgets and goals sit alongside, so the paid tier has substance behind it rather than being a badge.

        
        
          06
          
### The Operator

          
Twenty-four admin sections across members, compliance, finance, catalogs and platform policy: member management with audit logging, a four-step KYC review queue, fraud monitoring with rule management, dispute resolution, offer and reward catalogs, email templates, an integration registry with connection tests, and monitoring.

        
      
      
Every capability here is built and demonstrable in the live demo. Where something needs a third-party account or a deployment decision before it works in production, that is stated against the feature rather than implied away.

    
  

  
    
      
        Compare
        
## CRED vs Miracuves Clone vs Building From Scratch

        
What each route gives you on the parts that decide whether a credit super-app holds a member past the third week.

      
      
        
| What decides it | Miracuves Cred Clone | Building from scratch |
| --- | --- | --- |
| Time to a working app | Six working days | A multi-year programme with a senior team |
| Card vault | Every issuer in one view, utilization per card | The easy half, and the half everyone builds first |
| Bill engine | Catalog, fetch, autopay rules and a reminder job | Underestimated, because the reminder scheduling is the hard part |
| Points economy | Inventory accounting and an append-only redemption ledger | Usually a counter in a cache, until the first reconciliation |
| Gamification | XP, tiers, streaks, achievements and leaderboards, native | A third-party loyalty vendor that cannot see your events |
| Credit intelligence | Score history and factor breakdown above your bureau feed | A number on a screen, with nothing explaining it |
| Operator console | 24 sections, shipped | The surface most fintech builds defer and never finish |
| Source code | Full monorepo, 35 Prisma models, yours to redeploy | Yours, at the cost of building all of it |

      
      
CRED itself is the reference for what this category looks like at scale; it is not a product you can buy or self-host. The comparison that matters commercially is the second column against the third.

    
  

  
    
      
        End to End
        
## How It Works, End to End

        
One member, traced from signup through to a reward redemption, with every ledger entry and every operator action written down.

      
      
        01
### Signup issues an identity and a referral code

Email and password registration with OTP verification, JWT access tokens with refresh token rotation, two-factor authentication and a trusted device list, and biometric login on mobile with secure token storage. A referral code is issued at signup, so acquisition mechanics exist from the first member rather than being added once growth stalls.

        02
### KYC runs as a four-step application

Personal, address and employment records with document upload covering Aadhaar, PAN, passport and utility, then an operator review queue with approve and reject. Member status is denormalized so eligibility checks are fast, which matters when every screen has to know whether this member can transact.

        03
### Cards enter the vault and start being useful

Each card carries its limit, available credit, statement date, due date, issuer and network. Utilization is computed per card with good, warning and critical states. Virtual cards with freeze and top-up, card statements and a card comparison view sit alongside, so the vault is a working surface rather than a list.

        04
### A bill is fetched, paid and remembered

The biller catalog is searched by category, the bill is fetched in one shot, and payment writes to a ledger with a reference number for audit. An autopay rule can be attached through a setup wizard, and from then on a daily reminder job works against that member's own due dates rather than a generic schedule.

        05
### The score screen explains itself

Score history is kept over time, with a factor breakdown separating what is helping from what is hurting, per-card utilization and due dates in the same view, and an alert feed for changes. The bureau adapter is built; what you supply is the agreement and the credentials that make real scores return.

        06
### The action earns points, and the points are a liability

Paying the bill accrues points, advances a streak, moves XP and can change the tier on a bronze to diamond ladder. The reward catalog behind it carries real inventory, and every redemption writes to an append-only ledger, so a points balance is something you can reconcile against rather than a number sitting in a cache.

        07
### The operator sees all of it in one console

The same member opens in the operator console: the KYC application and its four steps, the transaction record, the reward redemption against inventory, and the audit trail behind every operator action. Configuration for offers, reward catalogs, referral milestones and integration credentials sits in the same place.

      
    
  

  
    
      
        Deliberate
        
## Every Feature Earns Its Place

        
Each module below exists because a credit super-app stops working without it, not because a competitor lists it.

      
      
        
| Module | Why it is in the base build |
| --- | --- |
| Multi-issuer card vault | It is the one view an issuer app structurally cannot produce, and therefore the only durable reason to open your app instead of theirs. |
| Per-card utilization states | A percentage means nothing to most members. Good, warning and critical next to a due date is an instruction. |
| Bill reminder job | A reminder that fires on the wrong day is worse than none, because the member stops trusting every subsequent one. |
| Payment ledger with reference | A bill payment dispute without a reference number is unresolvable, and in this category disputes are routine. |
| Append-only redemption ledger | Points are a liability on your balance sheet. A mutable counter cannot be audited and cannot survive a discrepancy. |
| Reward inventory accounting | Promising a reward you cannot fulfil damages trust more than not offering it, and inventory is what prevents that. |
| Native gamification | A loyalty vendor sits outside your event stream, so it cannot reward the actions that actually drive retention. |
| Server-side premium flag | A paywall enforced in the interface is not a paywall. It has to be checked where the data is returned. |
| 24-section operator console | This is the surface most fintech builds defer and then never finish, and without it every exception becomes an engineer's afternoon. |

      
      
Budgets, goals, offers, referrals and subscriptions ship alongside these as part of the same fourteen engines.

    
  

  
    
      
        Stack
        
## The Technology Behind the Features

        
What the platform is actually built on, and what that means for the team who inherits it.

      
      
        **Web**A Next.js 14 App Router build across sixty routes in TypeScript, with Tailwind, Radix primitives, TanStack Query and a progressive web app service worker giving offline read access.
        **Dual API surface**148 consumer route handlers alongside an Express workspace of 114 route files and 297 services, with an OpenAPI specification, Swagger UI and SDK generators for JavaScript, Python and PHP.
        **Data**Thirty-five Prisma models on PostgreSQL with 183 further data-access models, the migration set and a seed workflow, including the append-only payment, redemption and bill payment ledgers.
        **Mobile**A 295-screen Expo application with biometric login, secure token storage and push notifications, running against the same API as the web app rather than a parallel implementation.
        **Background work**Eleven background jobs covering the daily bill reminder sweep, autopay execution, score refresh and the scheduled work a credit app depends on but never shows the member.
        **Operations**Prometheus metrics, error tracking and generated reports with Grafana dashboards shipped in the deployment stack, plus seven React Email templates editable at runtime.
      
      
        
### Why the ledger design is the number that matters

        
A card list and a score gauge can be built in weeks. What takes years is everything that has to reconcile behind them: a points balance that behaves like a liability rather than a counter, a redemption that cannot be replayed, a bill payment that carries a reference through to a dispute, and an operator console where every intervention is written to an audit log. Thirty-five models is not a boast, it is the consequence of modelling those things properly instead of flattening them.

        
          **35**Prisma models
          **148**Consumer API routes
          **11**Background jobs
          **$6,099**One-time, fixed
        
      
      
The stack is Next.js, Express and TypeScript on standard PostgreSQL, which matters when you hire against it and when a technical buyer runs due diligence on what you own.

    
  

  
    
      
        Honest Readiness
        
## What Is Not Included in the Base Package

        
Named here rather than discovered after the invoice.

      
      
        
### What needs your account, and what is pre-launch work

        
**The bureau feed.** Experian and Equifax adapters are built and the intelligence layer above them is complete. What is needed is your own bureau agreement and credentials before real scores return. Until then the score surface runs against the adapter without live data behind it.

        
**CIBIL.** It is a configurable label rather than a live feed. That distinction is stated plainly because in this market it is the one most likely to be assumed rather than asked about.

        
**Authentication hardening.** CAPTCHA on signup and login, enforced email verification, and SMS two-factor exposed in the member interface are documented as operator work and completed as pre-launch hardening rather than shipped switched on.

        
**Your own gateway accounts.** Bill payment and card payment flows run through accounts you hold, which is deliberate - it keeps interchange and processing arrangements between you and your provider rather than routed through us.

        
**iOS.** The Android build of the Expo application is in the base package. A native iOS release with its developer account, signing and review cycle is quoted separately.

      
      
The controls that are built are real: bcrypt hashing, JWT with refresh token rotation and server-side revocable sessions, two-factor authentication, biometric login, Zod validation on every API boundary, DOMPurify sanitization, helmet headers, per-route rate limiting, HMAC verification on inbound webhooks, idempotency keys on payment initiation and audit logging on operator actions.

    
  

  
    
      
        
          Development Company
          
### See how Miracuves compares to agencies and freelancers

          
The deployment process, a modelled reference deployment, and what to check on ledgers, KYC and bureau integration before you hire anyone - on the Development Company page.

        
        [See the comparison →](/cred-clone/development-company/)
      
    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            Does the app show real credit scores out of the box?
            Not until you supply a bureau agreement. The Experian and Equifax adapters are built and the intelligence layer above them - score history, factor breakdown, alerts - is complete. What is missing is your own bureau credentials, which no vendor can provide on your behalf. CIBIL specifically is a configurable label rather than a live feed, and we state that plainly because it is the assumption most likely to go unquestioned.
          
          
            Why does the points ledger matter so much?
            Because a points balance is a liability, not a score. If it lives as a counter that can be incremented and decremented in place, you cannot prove what a member earned, you cannot survive a reconciliation, and you cannot defend a dispute. Here redemption writes to an append-only ledger against a reward catalog with real inventory, so the balance can be rebuilt from its own history.
          
          
            Can members add cards from any bank?
            The vault holds cards from any issuer with limit, available credit, statement date, due date, issuer and network, and computes utilization per card. That single cross-issuer view is the thing an issuer's own app structurally cannot produce, because each one only knows its own card. What each card can do beyond display depends on the integrations you arrange with your providers.
          
        
        
          
            Is the premium paywall enforced properly?
            Yes. The premium flag is checked server-side where data is returned, not by hiding buttons in the interface. Monthly and yearly plans gate advanced analytics, AI insights and exclusive offers, and because the check sits at the API boundary a member cannot reach paid data by manipulating the client.
          
          
            What security is actually built versus outstanding?
            Built: bcrypt hashing, JWT with refresh token rotation and server-side revocable sessions, two-factor authentication, biometric login on mobile, Zod validation on every API boundary, DOMPurify sanitization, helmet headers, per-route rate limiting, HMAC verification on inbound webhooks, idempotency keys on payment initiation and audit logging on operator actions. Outstanding operator work: CAPTCHA on signup and login, enforced email verification, and SMS two-factor exposed in the member UI.
          
          
            Is an iOS app included?
            The Android build of the 295-screen Expo application is in the base package, and the web application is a progressive web app with a service worker giving offline read access. A native iOS release brings its own developer account, signing setup and review cycle, and is quoted as separate work rather than folded in.
          
        
      
    
  

  
    
    
      
        
## See a bill paid and the points reconcile, live

Ask for the demo and we will add a card, pay a bill, watch the points accrue into the tier ladder, then open the same activity in the operator console with its audit trail.

        [See Pricing](/cred-clone/development-cost/)[Full Overview](/cred-clone/)
      
    
  

  
    
      
        Explore
        
## Explore the Cred Clone

      
      
        [Overview](/cred-clone/)
        [Features](/cred-clone/features/)
        [Development Cost](/cred-clone/development-cost/)
        [Development Company](/cred-clone/development-company/)
        [Business Model](/cred-clone/business-model/)
      
    
  

  
    
    
      
        
## Ready to run a credit super-app you actually own?

        
Deploy in six working days with the member web app, the 295-screen mobile build and the 24-section operator console included, your gateways and catalogs configured with you, and the full source on infrastructure you own.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **August 24, 2026**
        
        
          Miracuves · Cred Clone Solution
          Feature set, stack and readiness caveats cross-verified against the hub, 2026-08-24
