---
title: Amazon Clone Features
description: 
url: https://miracuves.com/amazon-clone/features
date_modified: 2026-08-21
author: miracuves
language: en_US
---

.mcv-amf{
    --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-amf *{ box-sizing:border-box; }
  .mcv-amf h1,.mcv-amf h2,.mcv-amf h3{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:800; margin:0; letter-spacing:-0.02em; line-height:1.12; }
  .mcv-amf p{ margin:0 0 14px; line-height:1.7; color:var(--ink); }
  .mcv-amf a{ color:var(--crimson-deep); text-decoration:none; }
  .mcv-amf .mono{ font-family:'JetBrains Mono',monospace; }
  .mcv-amf-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:2; }
  .mcv-amf-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-amf-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-amf-crumb a{ color:rgba(255,255,255,.62); }
  .mcv-amf-crumb a:hover{ color:var(--crimson-light); }
  .mcv-amf-crumb span.sep{ opacity:.5; }
  .mcv-amf-crumb span.cur{ color:rgba(255,255,255,.75); }

  .mcv-amf-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-amf-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--crimson); }

  .mcv-amf-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-amf-hero .ring{ position:absolute; border:2px solid rgba(232,52,79,.18); border-radius:50%; pointer-events:none; }
  .mcv-amf-hero .ring1{ width:560px; height:560px; top:-260px; right:-200px; }
  .mcv-amf-hero .ring2{ width:340px; height:340px; bottom:-200px; right:120px; border-color:rgba(232,52,79,.1); }
  .mcv-amf-herogrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .mcv-amf-hero h1{ font-size:clamp(27px,3.9vw,44px); color:#fff; }
  .mcv-amf-hero h1 em{ font-style:normal; color:#ff8090; }
  .mcv-amf-hero p.sub{ font-size:16px; color:rgba(255,255,255,.68); max-width:600px; margin:20px 0 30px; }

  .mcv-amf a.mcv-amf-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-amf a.mcv-amf-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-amf a.mcv-amf-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-amf a.mcv-amf-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

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

  .mcv-amf-cardstack{ position:relative; height:340px; }
  .mcv-amf-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-amf-fincard.c1{ top:0; left:10px; z-index:1; opacity:.5; transform:rotate(-6deg) scale(.92); }
  .mcv-amf-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-amf-fincard .brand{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
  .mcv-amf-fincard .chip{ width:34px; height:24px; border-radius:5px; background:linear-gradient(135deg,#ff8090,#e8344f); margin:22px 0 18px; }
  .mcv-amf-fincard .num{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; letter-spacing:.1em; }
  .mcv-amf-fincard .curr{ position:absolute; bottom:22px; right:22px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#ff8090; }
  .mcv-amf-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-amf-float .k2{ font-family:'JetBrains Mono',monospace; font-size:10px; color:#ff8090; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
  .mcv-amf-float .v{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; font-weight:700; }
  .mcv-amf-float-1{ top:-10px; right:0; }
  .mcv-amf-float-2{ bottom:10px; left:0; }

  .mcv-amf-statbar{ margin-top:-72px; position:relative; z-index:3; }
  .mcv-amf-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-amf-statbar .stat{ text-align:center; padding:0 12px; border-right:1px solid var(--line-light); }
  .mcv-amf-statbar .stat:last-child{ border-right:none; }
  .mcv-amf-statbar .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:22px; color:#ff8090; }
  .mcv-amf-statbar .lbl{ font-size:11.5px; color:rgba(255,255,255,.62); margin-top:6px; line-height:1.4; }

  .mcv-amf-section{ padding:100px 0 76px; }
  .mcv-amf-section.paper{ background:#faf8f8; }
  .mcv-amf-section.tight{ padding-top:76px; }
  .mcv-amf-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .mcv-amf-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-amf-head h2{ font-size:clamp(22px,3vw,34px); color:#191419; }
  .mcv-amf-head p{ color:#6d666d; margin-top:14px; }

  .mcv-amf-rolegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-amf-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-amf-rolecard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-amf-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-amf-rolecard h3{ font-size:17px; margin-bottom:12px; color:#191419; }
  .mcv-amf-rolecard ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-amf-rolecard li{ margin-bottom:8px; line-height:1.5; }

  .mcv-amf-tablewrap{ overflow-x:auto; border-radius:16px; box-shadow:0 12px 34px rgba(0,0,0,.07); border:1px solid var(--line); }
  table.mcv-amf-table{ border-collapse:collapse; width:100%; min-width:680px; background:#fff; font-size:13.5px; }
  table.mcv-amf-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-amf-table td{ padding:14px 16px; border-bottom:1px solid rgba(11,11,16,0.1); vertical-align:top; color:#191419; }
  table.mcv-amf-table td.hl{ background:rgba(232,52,79,.06); border-top:3px solid #e8344f; font-weight:600; color:#191419; }
  table.mcv-amf-table th.hl{ background:#e8344f; color:#ffffff; }
  table.mcv-amf-table tbody tr:hover td{ background:#f4f1f1; color:#191419; }
  table.mcv-amf-table tbody tr:hover td.hl{ background:rgba(232,52,79,.13); color:#191419; }
  table.mcv-amf-table tr:last-child td{ border-bottom:none; }
  .mcv-amf-note{ font-size:12.5px; color:#6d666d; margin-top:12px; }

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

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

  .mcv-amf-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-amf-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-amf-cs-badge .dot{ width:6px; height:6px; border-radius:50%; background:#e8344f; }
  .mcv-amf-cs-body{ flex:1; min-width:260px; }
  .mcv-amf-cs-body h3{ font-size:16.5px; margin-bottom:6px; color:#191419; }
  .mcv-amf-cs-body p{ color:#6d666d; font-size:13.5px; margin:0; max-width:460px; }
  .mcv-amf a.mcv-amf-cs-link{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#a70d2a; white-space:nowrap; }

  .mcv-amf-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:1000px; margin:0 auto; }
  .mcv-amf-faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
  .mcv-amf-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-amf-faq summary::-webkit-details-marker{ display:none; }
  .mcv-amf-faq summary::after{ content:'+'; font-family:'JetBrains Mono',monospace; color:#a70d2a; font-size:20px; font-weight:700; flex:none; }
  .mcv-amf-faq details[open] summary::after{ content:'\2212'; }
  .mcv-amf-faq .a{ color:#6d666d; font-size:13.5px; margin-top:10px; line-height:1.65; }

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

  .mcv-amf-explore{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .mcv-amf a.mcv-amf-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-amf a.mcv-amf-pill:hover{ border-color:#e8344f; color:#a70d2a; text-decoration:none; }
  .mcv-amf a.mcv-amf-pill.cur{ background:#191419; color:#fff; border-color:#191419; }

  .mcv-amf-finalcta{ background:#0a0a0a; color:#fff; text-align:center; padding:96px 24px 64px; position:relative; overflow:hidden; }
  .mcv-amf-finalcta .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; }
  .mcv-amf-finalcta .ring1{ width:480px; height:480px; top:-220px; left:-160px; }
  .mcv-amf-finalcta .ring2{ width:300px; height:300px; bottom:-180px; right:-90px; }
  .mcv-amf-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-amf-finalcta h2{ color:#fff; font-size:clamp(24px,3.2vw,34px); max-width:640px; margin:0 auto 14px; }
  .mcv-amf-finalcta p.sub{ color:rgba(255,255,255,.7); max-width:520px; margin:0 auto 30px; }
  .mcv-amf-footerbar{ max-width:1180px; margin:56px auto 0; padding-top:28px; border-top:1px solid var(--line-light); position:relative; z-index:2; }
  .mcv-amf-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-amf-byline strong{ color:#fff; font-weight:600; }
  .mcv-amf-byline .dotsep{ opacity:.4; }
  .mcv-amf-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-amf-herogrid{ grid-template-columns:1fr; }
    .mcv-amf-statbar .inner{ grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .mcv-amf-statbar .stat:nth-child(2){ border-right:none; }
    .mcv-amf-rolegrid{ grid-template-columns:1fr; }
    .mcv-amf-honestgrid{ grid-template-columns:1fr; }
    .mcv-amf-faqgrid{ grid-template-columns:1fr; }
    .mcv-amf-hero h1{ font-size:27px; }
    .mcv-amf-cta .flex{ flex-direction:column; align-items:flex-start; }
    .mcv-amf-cardstack{ height:260px; }
    .mcv-amf-fincard{ width:250px; height:150px; }
  }
  @media (prefers-reduced-motion: reduce){ .mcv-amf *{ animation:none !important; transition:none !important; } }
  /* --- components used by cost / company / business-model --- */
  .mcv-amf-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-amf-pricecard .plan{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#ff8090; margin-bottom:14px; }
  .mcv-amf-pricecard .amt{ font-family:'JetBrains Mono',monospace; font-size:44px; font-weight:700; color:#fff; line-height:1; }
  .mcv-amf-pricecard .per{ font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; }
  .mcv-amf-pricecard ul{ margin:22px 0 0; padding-left:18px; color:rgba(255,255,255,.78); font-size:13.5px; }
  .mcv-amf-pricecard li{ margin-bottom:8px; line-height:1.5; }
  .mcv-amf-drivers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-amf-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-amf-driver:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-amf-driver h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-amf-driver p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-amf-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .mcv-amf-step{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:24px 22px; }
  .mcv-amf-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-amf-step h3{ font-size:15.5px; margin-bottom:8px; color:#191419; }
  .mcv-amf-step p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-amf-checkgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
  .mcv-amf-check{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:20px 22px; }
  .mcv-amf-check h3{ font-size:15px; margin-bottom:8px; color:#191419; }
  .mcv-amf-check p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-amf-flags{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .mcv-amf-flag{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:22px; position:relative; }
  .mcv-amf-flag::before{ content:'\2715'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; }
  .mcv-amf-pt{ background:radial-gradient(ellipse 800px 400px at 20% 0%, rgba(232,52,79,.14), transparent), #0a0a0a; color:#fff; padding:92px 0 84px; }
  .mcv-amf-pt .mcv-amf-head h2{ color:#fff; }
  .mcv-amf-pt .mcv-amf-head p{ color:rgba(255,255,255,.68); }
  .mcv-amf-ptgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mcv-amf-ptcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:26px 24px; }
  .mcv-amf-ptcard h3{ font-size:15.5px; color:#fff; margin-bottom:10px; }
  .mcv-amf-ptcard p{ font-size:13.5px; color:rgba(255,255,255,.72); margin:0; }
  .mcv-amf-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-amf-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-amf-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-amf-csmeta div{ font-size:13px; color:#6d666d; }
  .mcv-amf-csmeta strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:18px; color:#191419; margin-bottom:2px; }
  .mcv-amf-cscols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .mcv-amf-cscols h4{ font-size:13px; font-family:'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin:0 0 10px; }
  .mcv-amf-cscols ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-amf-cscols li{ margin-bottom:8px; line-height:1.5; }
  .mcv-amf-quote{ margin-top:28px; padding:24px 26px; background:#faf8f8; border-left:3px solid #e8344f; border-radius:0 12px 12px 0; }
  .mcv-amf-quote p{ font-size:15px; font-style:italic; color:#191419; margin:0 0 10px; }
  .mcv-amf-quote .who{ font-family:'JetBrains Mono',monospace; font-size:12px; color:#6d666d; font-style:normal; }
  .mcv-amf-revgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-amf-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-amf-revcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-amf-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-amf-revcard h3{ font-size:16.5px; margin-bottom:10px; color:#191419; }
  .mcv-amf-revcard p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-amf-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-amf-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-amf-disclose h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-amf-disclose p{ font-size:13.5px; color:#6d666d; margin:0 0 10px; }
  .mcv-amf-disclose p:last-child{ margin-bottom:0; }
  .mcv-amf-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-amf-callout .figs div{ font-size:12.5px; color:rgba(255,255,255,.65); }
  .mcv-amf-callout .figs strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:20px; color:#fff; margin-bottom:3px; }
  @media (max-width:900px){
    .mcv-amf-drivers,.mcv-amf-steps,.mcv-amf-checkgrid,.mcv-amf-flags,.mcv-amf-ptgrid,.mcv-amf-cscols,.mcv-amf-revgrid{ grid-template-columns:1fr; }
    .mcv-amf-csbox{ padding:28px 24px; }
  }
  /* ===== components ported from the shipped reference bundle (instagram-clone) ===== */
  .mcv-amf-aside{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 16px 16px 0; padding:32px 36px; }
  .mcv-amf-aside h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-amf-aside ul{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
  .mcv-amf-aside li{ padding-left:18px; position:relative; font-size:14px; color:#191419; line-height:1.6; }
  .mcv-amf-aside li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; background:#e8344f; transform:rotate(45deg); }
  .mcv-amf-aside li span{ color:#6d666d; display:block; font-size:12.5px; margin-top:2px; }
  .mcv-amf-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-amf-flowrow:last-child{ border-bottom:none; }
  .mcv-amf-flowrow h3{ font-size:18px; margin-bottom:8px; color:#191419; }
  .mcv-amf-flowrow p{ color:#6d666d; font-size:14.5px; margin:0; max-width:760px; }
  .mcv-amf-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-amf-icongrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .mcv-amf-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-amf-iconitem h3{ font-size:15px; margin-bottom:6px; color:#191419; }
  .mcv-amf-iconitem p{ font-size:13px; color:#6d666d; margin:0; }
  .mcv-amf-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-amf-steprow{ display:flex; gap:24px; padding:22px 0; border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-amf-steprow:last-child{ border-bottom:none; }
  .mcv-amf-step-num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:#a70d2a; flex:none; width:90px; padding-top:2px; }
  .mcv-amf-step-body h3{ font-size:17px; color:#191419; margin-bottom:6px; }
  .mcv-amf-step-body p{ font-size:14.5px; color:#6d666d; margin:0; }
  .mcv-amf-trustband{ background:#0a0a0a; color:#fff; padding:96px 0; position:relative; overflow:hidden; }
  .mcv-amf-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-amf-trustband .head{ text-align:center; max-width:720px; margin:0 auto 44px; position:relative; z-index:2; }
  .mcv-amf-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-amf-trustband .head h2{ color:#fff; font-size:clamp(22px,3vw,34px); }
  .mcv-amf-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-amf-head h2 (#191419) and vanishes on the black band */
  .mcv-amf-trustband .mcv-amf-head h2{ color:#ffffff; font-size:clamp(22px,3vw,34px); }
  .mcv-amf-trustband .mcv-amf-head p{ color:rgba(255,255,255,0.68); }
  .mcv-amf-trustband .mcv-amf-head .kicker{ color:#ff8090; }
  .mcv-amf-trustgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:2; }
  .mcv-amf-trustcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:26px 22px; }
  .mcv-amf-trustcard h3{ color:#fff; font-size:15px; margin-bottom:8px; }
  .mcv-amf-trustcard p{ color:rgba(255,255,255,.68); font-size:13px; margin:0; line-height:1.55; }
  .mcv-amf-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-amf-scorecard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; }
  .mcv-amf-scorecard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:16px; }
  .mcv-amf-scorerow{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
  .mcv-amf-scorerow:last-child{ border-bottom:none; }
  .mcv-amf-scorerow .lbl2{ font-size:12.5px; color:rgba(255,255,255,.75); }
  .mcv-amf-scorerow .val{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:#fff; }
  .mcv-amf-scorerow .val.good{ color:#ff8090; }
  .mcv-amf-cs-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
  .mcv-amf-cs-top p{ color:#6d666d; font-size:14.5px; max-width:480px; margin:0; }
  .mcv-amf-cs-meta{ text-align:right; font-size:13.5px; }
  .mcv-amf-cs-meta strong{ display:block; color:#191419; font-size:14.5px; }
  .mcv-amf-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-amf-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-amf-cs-stat{ text-align:center; padding:22px 12px; border-right:1px solid rgba(11,11,16,0.1); }
  .mcv-amf-cs-stat:last-child{ border-right:none; }
  .mcv-amf-cs-stat .v{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:26px; color:#a70d2a; }
  .mcv-amf-cs-stat .l{ font-size:12.5px; color:#6d666d; margin-top:4px; }
  .mcv-amf-cs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .mcv-amf-cs-box{ background:#faf8f8; border-radius:14px; padding:22px 24px; }
  .mcv-amf-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-amf-cs-box ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
  .mcv-amf-cs-box li{ padding-left:16px; position:relative; font-size:13.5px; color:#191419; line-height:1.55; }
  .mcv-amf-cs-box li::before{ content:''; position:absolute; left:0; top:7px; width:6px; height:6px; background:#e8344f; transform:rotate(45deg); }
  .mcv-amf-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-amf-cs-quote p{ font-style:italic; font-size:15px; color:#191419; margin:0 0 10px; }
  .mcv-amf-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-amf-cs-who strong{ display:block; font-size:13.5px; color:#191419; }
  .mcv-amf-cs-who span{ font-size:12.5px; color:#6d666d; }
  .mcv-amf-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-amf-mockwrap{ position:relative; }
  .mcv-amf-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-amf-chartcard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:18px; }
  .mcv-amf-chartcard .mcv-amf-barrow{ display:flex; align-items:center; gap:14px; height:auto; margin:0 0 14px; }
  .mcv-amf-chartcard .mcv-amf-barrow .l{ flex:0 0 140px; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.78); }
  .mcv-amf-chartcard .mcv-amf-barrow>.bar{ flex:1; height:8px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; }
  .mcv-amf-chartcard .mcv-amf-barrow>.bar>.mcv-amf-barcol{ height:8px; border-radius:999px; background:linear-gradient(90deg,#ff8090,#d81b46); }
  .mcv-amf-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-amf-seggrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .mcv-amf-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-amf-segcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-amf-segcard h3{ color:#191419; font-size:15.5px; margin-bottom:8px; }
  .mcv-amf-segcard p{ color:#6d666d; font-size:13px; margin:0; line-height:1.55; }
  .mcv-amf-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-amf-modelgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-amf-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-amf-modelcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-amf-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-amf-modelcard:hover .ghost{ color:#e8344f; opacity:.09; }
  .mcv-amf-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-amf-modelcard h3{ font-size:16.5px; margin-bottom:8px; position:relative; color:#191419; }
  .mcv-amf-modelcard p{ font-size:13.5px; color:#6d666d; margin:0; line-height:1.55; position:relative; }
  .mcv-amf-streamlist{ display:flex; flex-direction:column; gap:9px; }
  .mcv-amf-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-amf-streamrow .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; color:#ff8090; }
  .mcv-amf-streamrow .s{ font-size:13px; color:#fff; font-weight:600; }
  @media (max-width:900px){
    .mcv-amf-aside ul{ grid-template-columns:1fr; }
    .mcv-amf-flowrow{ grid-template-columns:48px 1fr; gap:16px; }
    .mcv-amf-flownum{ width:44px; height:44px; font-size:14px; }
    .mcv-amf-icongrid,.mcv-amf-cs-grid,.mcv-amf-modelgrid{ grid-template-columns:1fr; }
    .mcv-amf-trustgrid,.mcv-amf-seggrid{ grid-template-columns:1fr 1fr; }
    .mcv-amf-cs-stats{ grid-template-columns:1fr; }
    .mcv-amf-cs-stat{ border-right:none; border-bottom:1px solid rgba(11,11,16,0.1); }
    .mcv-amf-cs-stat:last-child{ border-bottom:none; }
    .mcv-amf-cs-top,.mcv-amf-steprow{ flex-direction:column; }
    .mcv-amf-cs-meta{ text-align:left; }
    .mcv-amf-chartcard .mcv-amf-barrow{ gap:10px; }
    .mcv-amf-chartcard .mcv-amf-barrow .l{ flex:0 0 104px; font-size:11.5px; }
  }
.mcv-amf-pt .mcv-amf-head .kicker{ color:#ff8090; }
* + .mcv-amf-callout{ margin-top:22px; }
.mcv-amf-cta .mcv-amf-byline,.mcv-amf-cta .mcv-amf-footerbar{ color:#ffffff; }
.mcv-amf-cta .mcv-amf-byline .dotsep{ opacity:.65; }
.mcv-amf-cta .mcv-amf-footermeta{ color:#ffffff; }
.mcv-amf-trustband .kicker,.mcv-amf-pt .kicker{ color:var(--crimson-light); }
.mcv-amf-cta .kicker{ color:#ffffff; }
@media (max-width:560px){ .mcv-amf-trustgrid,.mcv-amf-seggrid{ grid-template-columns:1fr; } }

  
    
    
      
        
          
            [Home](/)/[Amazon Clone](/amazon-clone/)/Features
          
          Amazon Clone · Features
          
# Amazon Clone Features: Catalog, Checkout, Fulfilment and Payouts

          
The hard part of a marketplace is not the product page. It is everything that has to agree afterwards - stock at SKU level, one order split across several vendors, four wallets settling, cash reconciling from a doorstep, and a refund reversing all of it cleanly. Here is what ships, grouped by who touches it.

          [Request a Live Demo →](https://miracuves.com/schedule-consultation/)[See Pricing](/amazon-clone/development-cost/)
          
            **6** surfaces, one REST API
            **4** wallets per order
            **6 days** to deploy
          
        
        
          HandoverOTP verified
          
            Four Wallets, One Order
            
              01Customer wallet
              02Vendor wallet
              03Deliveryman wallet
              04Operator wallet
              05Append-only history per movement
              06Cash reconciled per agent
            
          
        
      
    
  

  
    
      
        131Normalized MySQL Tables
        13Ways to Pay, Including COD
        9Order Statuses, Full History
        3Flutter Android Apps
      
    
  

  
    
      
        By Role
        
## Feature Set by Role

        
Every capability grouped by who actually touches it - the customer buying, the vendor selling and getting paid, and the delivery agent closing the loop at the door.

      
      
        
          C
          
### Customer

          
- Keyword search with autocomplete, filters and sorting
- Featured, most-demanded and best-selling rails
- Deal of the day, time-boxed flash deals, clearance storefront
- One cart spanning several vendors at once
- Guest cart tracked by session and merged on login
- Coupon, wallet and loyalty applied together at checkout
- Refund request with reason and evidence
- Restock subscriptions, wallet, loyalty and referral

        
        
          V
          
### Vendor

          
- Register with KYC, approved by an operator
- Product CRUD with variants, stock and bulk import
- SKU-level rows with their own price and quantity
- Stock thresholds with low-stock alerts
- AI-assisted descriptions, SEO titles and alt text
- Order queue and refund responses
- Sales analytics and withdrawal requests
- Web panel or Android app, same data

        
        
          D
          
### Delivery Agent

          
- First-class identity with KYC and admin approval
- Assignment feed with accept and reject
- Navigation to vendor and to customer
- Live location broadcast and status checkpoints
- One-time-code verification at the door
- Cash collected written to their own balance
- Reconciled to the operator wallet on settlement
- Earnings view and withdrawal request flow

        
      
      
A delivery agent is an identity with its own KYC, wallet and approval state, not a flag on a customer account. That distinction is what makes cash reconciliation possible at all.

    
  

  
    
      
        Compare
        
## Amazon vs Miracuves Clone vs Building From Scratch

        
The same capability, three different paths - and one row where a general commerce script simply has nothing to offer.

      
      
        
| Capability | Original Amazon | Miracuves Clone | Build From Scratch |
| --- | --- | --- | --- |
| Multi-vendor catalog | Yes - the core product | Variant matrix, SKU-level stock, unlimited category depth | The part everyone starts with |
| One cart across vendors | Yes | Yes, with shipping estimated per vendor before checkout | Splitting an order cleanly is where it gets hard |
| Your own delivery fleet | Yes - built over decades | Agent identity, assignment feed, live location, OTP handover | A second product, and usually a second team |
| Cash on delivery | Yes, in some markets | Per-agent balance, operator settlement, its own transaction table | Where general commerce scripts quietly give up |
| Four separate wallets | Internal | Customer, vendor, deliveryman and operator, append-only | Most builds have one balance column and regret it |
| Commission control | Set by Amazon | Global, per category, per vendor or per product, reversed on refund | Reversal on refund is the case that gets missed |
| Payment methods | Extensive | Eleven gateways plus offline methods and COD | One gateway, then an integration per market |
| iOS apps | Yes | Not in the base price - Android ships, iOS quoted as an add-on | Two platforms to build and submit |
| Source code ownership | N/A | Full Laravel 12 and all three Flutter projects, nothing obfuscated | Full ownership (you are building it) |
| Price | N/A | $2,499 one-time | An 18 - 30 month programme with a senior team |

      
      
The iOS row is stated plainly because it is the thing buyers most often assume. Three Android builds are in the base price; the Flutter projects compile for iOS, and App Store builds, signing and submission are quoted separately because the review cycle and developer account are separate work.

    
  

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

        
One order, followed from browse to settled money - including the doorstep, which is where most marketplace platforms stop.

      
      
        
          01
          
### Browse and add to cart

Keyword search with autocomplete, filters on price, brand, rating, vendor and attributes, and merchandising rails for featured, best-selling, deal of the day and clearance. One cart spans several vendors at once, with shipping estimated per vendor before checkout, and a guest cart is tracked by session and merged on login.

        
        
          02
          
### Checkout, however they want to pay

Coupon, wallet and loyalty apply together, scoped to product, category or cart with per-user usage limits. Eleven gateways, operator-defined offline methods and cash on delivery all terminate in the same order. Placement is guarded by an idempotency check, so a double tap on a slow connection does not create a second order.

        
        
          03
          
### Split, assign and dispatch

The order splits across vendors, stock decrements at SKU level, and each line carries its own delivery status so a multi-vendor order can be partially fulfilled. A delivery agent picks the job off an assignment feed, navigates to the vendor and then the customer, and broadcasts live location through the checkpoints.

        
        
          04
          
### Handover, verified

A one-time code is verified at the door rather than the agent simply marking it delivered. On a cash order, the amount collected is written to that agent's own balance and tracked in a dedicated transaction table rather than being treated as an ordinary payment.

        
        
          05
          
### Settle, or reverse

Commission is deducted from the vendor wallet when the order completes and reversed automatically if it is refunded, with loyalty points reversed on cancellation. Cash held by the agent reconciles to the operator wallet on settlement, and every movement writes an append-only history row so any balance can be re-derived.

        
      
      
Step five is the one to interrogate in any platform you evaluate. A refund that reverses the payment but not the commission, or cash that never reconciles, leaves a balance nobody can explain - and you will find it at year end, not at launch.

    
  

  
    
      
        Rationale
        
## Every Feature Earns Its Place

        
Nothing here is on the list because it demos well. Each capability exists because leaving it out breaks something specific and expensive.

      
      
        
| Capability | Why it is not optional |
| --- | --- |
| Four separate wallets | Because a customer refund, a vendor payout, an agent's cash and your commission are four different liabilities. One balance column means you cannot answer who is owed what. |
| Append-only wallet history | Because a balance you can only read is a balance you cannot defend. Every movement writes a row, so any figure can be re-derived from the ledger. |
| Cash in its own transaction table | Because treating cash as an ordinary payment hides the gap between money collected at a door and money in your account. |
| OTP at handover | Because "marked delivered" is not proof, and disputes over undelivered cash orders are the most expensive kind. |
| Idempotency on order placement | Because a double tap on a poor connection should not charge twice or reserve stock twice. |
| Per-line delivery status | Because an order split across three vendors will not arrive at once, and forcing one status on it makes the tracking page lie. |
| Commission reversed on refund | Because a refund that returns the customer's money but keeps your commission is a vendor dispute waiting to happen. |
| Field-level edit history | Because when a price or a status changes, the question is always who changed it and when. |
| Zip allowlists | Because offering checkout where you cannot actually deliver converts a sale into a refund and a bad review. |

      
    
  

  
    
      
        
## The Technology Behind the Features

        
A conventional, hireable stack, deliberately: PHP 8.2 on Laravel 12 with nWidart modules, running controller to service to repository to model with transactions at the service boundary. That is 114 Eloquent models over 131 normalized MySQL tables, with modules for AI, Blog and Tax that enable and disable without touching core, and observers, events and listeners driving notifications and ledger writes. REST API v1, v2 and v3 serve every client. Mobile is Flutter with Dio and Provider over GetIt - customer, vendor and deliveryman builds from one shared architecture, Sanctum bearer tokens carrying role claims, Firebase Cloud Messaging per app and Google Maps in the deliveryman build. Data sits on MySQL 8.x and Redis 7.x with InnoDB and utf8mb4 throughout, soft deletes on customer, vendor, agent and product rows, composite indexes on the hot paths, and append-only wallet histories.

        
          **Laravel 12**PHP 8.2, nWidart modules
          **131**Normalized MySQL tables
          **114**Eloquent models
          **Redis 7**Cache, queue, session
        
      
      
Nothing here is exotic, and that is the point: the developers who maintain this after handover should already know it.

    
  

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

        
Everything above is in the base build and demonstrable in the live demo. These are not - and the hub labels them configuration-required or integration-required rather than implying them away.

      
      
        
### Yours to own, not ours to supply

        
- **iOS applications**Three Android builds ship. The Flutter projects compile for iOS, quoted as an add-on with signing and submission.
- **Gateway credentials**Eleven gateways are integrated; each needs your own merchant account and approval.
- **SMS and email provider**Integration-required - your accounts, your sender reputation.
- **Firebase project**Push notifications run through your own Firebase project.
- **OpenAI key**The AI module generates descriptions, SEO copy and alt text against your key, with per-feature token quotas.
- **Catalog data**Products, imagery and vendor recruitment are the business, and they are yours.
- **Tax rates**Tax classes bind per zone, but the rates for your jurisdictions are yours to set.
- **ISO 27001 and SOC 2**Neither certificate is held and neither is claimed. The platform is ready for the evidence gathering.

      
      
Currency exchange rates are operator-set rather than fetched automatically, which is deliberate - a marketplace that silently reprices a catalog against a live feed surprises vendors and customers at the same time.

    
  

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

          
The deployment process, two modelled reference deployments, and what to check before you hire anyone - on the Development Company page.

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

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            How does the delivery fleet work?
            Delivery agents are a first-class identity with KYC and admin approval, not a flag on a customer account. They get an assignment feed with accept and reject, navigation to vendor and customer, live location broadcast, status checkpoints, one-time-code verification at the door, and a wallet with a withdrawal request flow.
          
          
            Is cash on delivery properly handled?
            Yes, and it is one of the reasons to choose this platform over a general commerce script. Cash collected is written to the delivery agent own balance, reconciled to the operator wallet on settlement, and tracked in a dedicated transaction table rather than being treated as an ordinary payment.
          
          
            Can vendors manage everything themselves?
            Yes. Vendors register with KYC, get approved by an operator, then run their own shop: product CRUD with variants and stock, bulk import and export, AI-assisted descriptions, an order queue, refund responses, sales analytics and a withdrawal request flow, from either the web panel or the Android app.
          
        
        
          
            Which payment gateways are supported?
            Eleven are integrated: Stripe, PayPal, Razorpay, Mercado Pago, Iyzico, PhonePe, Paytm, PayUZ, SSLCommerz, Flutterwave and PayTabs. Operator-defined offline methods and cash on delivery are also built in. Each gateway needs your own merchant credentials, which is why they are labelled integration-required.
          
          
            Are iOS apps included?
            No. The three Android builds are in the base price. The Flutter projects compile for iOS, and we quote App Store builds, signing and submission as an add-on because the review cycle and the developer account are separate work.
          
          
            What does the AI module actually do?
            It generates product descriptions, SEO titles and descriptions, tag suggestions and image alt text through OpenAI, with per-feature token quotas and a log recording tokens and cost for every call. It needs your own OpenAI key, so it is integration-required rather than included.
          
        
      
    
  

  
    
    
      
        
## See exactly what you are getting - before you commit

Request a working demo of the storefront, the vendor panel, the delivery app and the operator console, or check exact pricing.

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

  
    
      
        Explore
        
## Explore the Amazon Clone

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

  
    
    
      
        
## Ready to launch a marketplace that owns its last mile?

        
Deploy in 6 days with the storefront, vendor panel, delivery fleet and operator console included, full Laravel 12 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 20, 2026**
        
        
          Miracuves · Amazon Clone Solution
          Feature set and readiness caveats cross-verified against the live hub, 2026-08-20
        
      
    
  

				
				
				
				
						
					
			
						
				
					
  /* MIRACUVES - TRADEMARK / NON-AFFILIATION NOTICE (v3).
     Scoped under .mcv-tmn so it cannot collide with the hub connector (mcv-hubx-, mcv-hubxa-)
     or any block above it. Always the last block on the page, immediately before the footer.
     Structure is deliberate: one plain-language lead people actually read, then the three
     supporting positions split out so each is scannable rather than buried in a paragraph.
     Fonts are declared but not loaded: pages carrying the connector already have them, and the
     fallbacks are deliberate so this block never adds a render-blocking request. */
  .mcv-tmn{ font-family:'Plus Jakarta Sans',Arial,sans-serif; color:#191419; margin:0; padding:0; }
  .mcv-tmn *{ box-sizing:border-box; }
  .mcv-tmn-band{ background:#ffffff; padding:8px 0 76px; }
  .mcv-tmn-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
  .mcv-tmn-box{ background:#faf8f8; border:1px solid rgba(11,11,16,0.13); border-left:4px solid #a70d2a; border-radius:12px; padding:34px 38px; box-shadow:0 1px 2px rgba(25,20,25,0.04), 0 10px 30px rgba(25,20,25,0.05); }
  .mcv-tmn-head{ display:flex; align-items:center; gap:11px; margin:0 0 18px; }
  .mcv-tmn-dot{ width:8px; height:8px; background:#a70d2a; transform:rotate(45deg); flex:0 0 auto; }
  .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:13px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#a70d2a; }
  .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ margin:0 0 24px; font-size:20px; line-height:1.5; font-weight:600; color:#191419; max-width:56ch; letter-spacing:-.01em; }
  .mcv-tmn .mcv-tmn-box b.mcv-tmn-brand{ color:#a70d2a; font-weight:700; }
  .mcv-tmn-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px 36px; padding-top:24px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-col span.mcv-tmn-lbl{ display:block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8a8085; margin:0 0 8px; }
  .mcv-tmn .mcv-tmn-col p{ margin:0; font-size:14px; line-height:1.7; color:#453d42; }
  .mcv-tmn-foot{ margin-top:26px; padding-top:18px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-foot a{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; font-weight:600; letter-spacing:.04em; color:#a70d2a; text-decoration:none; border-bottom:1px solid rgba(167,13,42,0.32); }
  .mcv-tmn .mcv-tmn-foot a:hover{ border-bottom-color:#a70d2a; }
  @media (max-width:900px){
    .mcv-tmn-cols{ grid-template-columns:1fr; gap:22px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:18px; }
  }
  @media (max-width:600px){
    .mcv-tmn-band{ padding:4px 0 48px; }
    .mcv-tmn-box{ padding:26px 22px; border-radius:10px; border-left-width:3px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:17px; line-height:1.45; margin-bottom:20px; }
    .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-size:12px; letter-spacing:.16em; }
  }

  
    
      
        Disclaimer
        
Miracuves is an independent software development company. We are not affiliated with, connected to, sponsored by, or endorsed by **Amazon**.

        
          
            Why this name
            
“**Amazon** Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to Amazon, and how clients search for it.

          
          
            Who built this
            
The entire design and codebase is built by our own team. The product contains no code, design, graphics, or content originating from the Amazon website or applications.

          
          
            Trademarks
            
**Amazon** and all other third-party names and marks are the property of their respective owners, referenced here solely to describe the category of software offered.

          
        
        [Read our full Legal Notice & Disclaimer →](/disclaimer/)
