---
title: UberEats Clone Business Model
description: 
url: https://miracuves.com/ubereats-clone/business-model
date_modified: 2026-09-10
author: miracuves
language: en_US
---

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

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

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

  .mcv-ueb a.mcv-ueb-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; background:linear-gradient(160deg,#d81b46,#e6223f); 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-ueb a.mcv-ueb-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-ueb a.mcv-ueb-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-ueb a.mcv-ueb-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .mcv-ueb-seggrid{ grid-template-columns:repeat(3,1fr); }
  @media (max-width:900px){ .mcv-ueb-seggrid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .mcv-ueb-seggrid{ grid-template-columns:1fr; } }

    
    
      
        
          
            [Home](/)/[UberEats Clone](/ubereats-clone/)/Business Model
          
          UberEats Clone · Business Model
          
# UberEats Clone Business Model: Six Lines, Two That Pay From Day One

          
Most delivery operators plan one revenue line and then discover it is thin. This build carries six, and the choice between the two that matter most is a stored setting rather than an architecture: commission per order, a store subscription, or both. There is a guard in the code that refuses to switch both off at once, which is a small detail that tells you exactly how seriously the money model was taken.

          [Design My Revenue Model →](https://miracuves.com/schedule-consultation/)[See Pricing](/ubereats-clone/development-cost/)
          
            **2** lines earn from day one
            **Your rate** set in the console
            **0%** taken by Miracuves
          
        
        
          Model switchA setting, not a release
          
            Where the Money Comes From
            
              01Commission on every order
              02Margin on the delivery fee
              03Store subscription plans
              04Featured placement campaigns
              05Paid advertising inventory
              06Pro customer membership
            
          
        
      
    
  

  
    
      
        6Revenue Lines Available
        13Payment Gateways
        0%Taken by Miracuves
        $2,199One-Time, Fixed
      
    
  

  
    
      
        The Model
        
## Why Commission Alone Is a Thin Business

        
The reason this build carries six lines rather than one is arithmetic rather than ambition.

      
      
A delivery order is a small basket carrying a real cost: a rider is paid, a payment processor takes a fixed component, and somebody answers the phone when the order goes wrong. A commission percentage on a modest basket has to cover all three before it covers anything else, which is why operators who plan a single line usually discover in month three that their unit economics were decided by their processor rather than by them. The answer is not a higher rate, because a higher rate is the thing that makes restaurants leave. The answer is more than one line.

      
What makes that practical here is that the business model is stored as configuration rather than compiled into the code. Commission and store subscription are the two primary levers, held as a JSON setting with a guard that refuses to disable both at once so store economics can never become undefined by a stray click. Switching from a pure commission model to a subscription model, or running both together, is a decision somebody makes in the console on a Tuesday afternoon.

      
Advertising and featured placement are in the same build. Nothing here argues against them, only against expecting them to carry a platform that has not yet got restaurants worth promoting.

    
  

  
    
      
        The Lines
        
## Six Revenue Lines, Two That Need Nobody Else

        
Every one of these is built. Which are switched on, and at what rate, is yours.

      
      
        
### Commission per order

A percentage of each order, frozen onto the transaction row at settlement so that changing the rate later never rewrites what an old order earned. This is the line that needs nothing but an order, and it is why it starts producing revenue the same week the first restaurant goes live.

        
### Delivery fee margin

The difference between what the customer is charged for delivery and what the partner is paid for it, set per zone rather than globally. It is the second line that needs no third party, and it is the one most operators forget is a lever at all until they model a dense zone against a sparse one.

        
### Store subscription plans

Restaurants on a recurring plan, with the store panel's 258 routes gated by plan entitlement so a tier means something operationally rather than only on an invoice. Revenue becomes predictable rather than order-dependent, which changes what your business is worth as much as what it earns.

        
### Featured campaigns

Paid placement for restaurants that want to be found first inside a zone. This earns from the supply side rather than the demand side, and it works earlier than open advertising because a restaurant will pay to outrank the restaurant next door long before a brand will pay to reach your customers.

        
### Paid advertising

Advertising inventory across the storefront and the apps, sold to whoever wants your customers' attention. The slowest line to mature because it requires attention that exists and can be measured, and the one worth leaving switched off until a campaign is genuinely worth buying.

        
### Pro customer membership

A paid membership on the customer side, typically carrying reduced or waived delivery fees and priority treatment. It converts a variable per-order margin into a recurring payment, and it is the line that rewards you for the customers who already order most often.

      
      
Miracuves takes no percentage of any of these and nothing is charged per restaurant, per rider or per order. The rates, the plans and the fees are settings in your own console.

    
  

  
    
      
        Category
        
## How Delivery Marketplaces Actually Earn

        
The shapes that recur, and what each one genuinely requires before it produces anything.

      
      
        
| Approach | What it needs first | Where it breaks |
| --- | --- | --- |
| Commission per order | One restaurant and one customer | Small baskets, so processor fees bite hard |
| Delivery fee margin | Zones priced against their density | Sparse zones where the rider costs more than the fee |
| Store subscriptions | Restaurants earning enough to justify a plan | Fails outright if order volume is not there yet |
| Featured placement | Enough restaurants for position to matter | Meaningless in a zone with four listings |
| Advertising | Measurable attention at volume | Needs scale most single-city operators never reach |
| Customer membership | Customers who already order repeatedly | Discounts the exact orders you were profiting from |

      
      
The last row is the one worth modelling carefully rather than avoiding. A customer membership is genuinely good business, but only once you know what a frequent customer is worth, because it trades your best per-order margin for a fee you have to set correctly the first time.

    
  

  
    
      
        Sequence
        
## Monetization Ranked by What You Already Have

        
Two of these need nothing but an order and a payment rail, which is why the order below looks unlike an advertising-led plan.

      
      
        
| What has arrived | What starts earning | Why it works at this point |
| --- | --- | --- |
| A first restaurant, week one | Commission on every order | Frozen at settlement, so the rate can be corrected later |
| A zone with real density | Delivery fee margin | Priced per zone, so a dense area subsidizes nothing |
| Restaurants earning steadily | Subscription plans alongside commission | A stored setting, and both can run together |
| More listings than fit a screen | Featured placement inside the zone | Restaurants pay to outrank each other, not you |
| Customers ordering weekly | Pro customer membership | Turns your most frequent orders into recurring revenue |
| Measurable attention | Advertising inventory | Sold last, when a campaign is genuinely worth buying |

      
      
The first three rows can all happen inside the first quarter with nothing but a payment gateway connected. The last two typically cannot, and treating them as launch revenue is the most common way a delivery business plan goes wrong.

    
  

  
    
      
        The Alternative
        
## What Not Owning the Settlement Layer Costs

        
Six costs of running a marketplace on somebody else's money model. None of them appear on an invoice.

      
      
        **A percentage of every order you settle**Every rented platform takes a cut, and on a delivery marketplace the cut applies to a commission that was already thin after the rider and the processor. It compounds with every restaurant you add, which makes it the cost that grows exactly as you succeed.
        **Somebody else can move your rate**If the commission logic lives in a vendor's product, the percentage you charge is a number they can influence and eventually change. That is not a feature dependency, it is a dependency on the only line of revenue most delivery operators start with.
        **History that rewrites itself**Where the rate is read live at report time instead of frozen at settlement, changing it today changes last quarter. You cannot reconcile a restaurant's payout statement against numbers that move, and you find that out in the conversation where a restaurant disputes one.
        **Model changes that need a release**Switching from commission to subscription, or running both, should be a stored setting somebody changes in an afternoon. Where it is compiled into the code it is a scoped project, which in practice means the model you launched with is the model you keep.
        **Payouts you cannot account for**Paying restaurants from a spreadsheet works until a run is duplicated or a week is missed, and by then the trust is the thing you have lost rather than the money. A scheduled run with overlap locks and a transaction history is what makes the relationship survive a bad month.
        **Trade that never enters your books**If walk-in and phone orders live outside the platform, your commission, your reporting and your restaurants' own statements all describe a smaller business than the one you are actually running. The till closes that gap, and renting a platform without one leaves it open.
      
      
Here the commission rules, the discount split, the disbursement scheduler and the tax module transfer with the source, along with the migration set underneath them.

    
  

  
    
      
        Priority
        
## Which Lever to Switch On First

        
A launch order that assumes one zone, a handful of restaurants and no advertisers at all.

      
      
        
| Stage | Turn on | Leave off |
| --- | --- | --- |
| Launch week | One zone, commission, one payment rail, cash on delivery | Subscriptions, featured placement, ads, membership |
| Weeks two to six | The till for walk-in trade, the disbursement schedule | A second zone before the first one is dense |
| Orders arriving daily | Delivery fee margin tuned per zone | A flat fee that ignores how far a rider goes |
| Restaurants earning steadily | Subscription plans beside commission | Replacing commission before the plan is proven |
| A crowded listing page | Featured campaigns inside the zone | Selling position when there are four restaurants |
| Repeat customers and real traffic | Pro membership, then advertising | Discounting your best orders without modelling it |

      
      
Row four carries the biggest risk of the six. Moving restaurants from commission to a subscription changes who carries the risk of a quiet week, and it is much easier to add a plan alongside commission than to take commission away and put it back.

    
  

  
    
      
        Operators
        
## Three Ways Operators Run This Platform

        
The same deployment with a different revenue emphasis, not three different builds.

      
      
        
          A
          
### The single-city marketplace

          
One zone, drawn tightly, with commission and delivery fee margin doing all the work. Density is the whole strategy: a small area with enough restaurants beats a large area with the same number, because a rider's time between drops is the cost that decides everything else.

          
- Commission from the first week, rate corrected later
- Delivery pricing tuned against the zone, not a global figure
- The till captures counter trade that would otherwise vanish

        
        
          B
          
### The subscription network

          
Restaurants on recurring plans rather than a per-order cut, with the store panel gated by plan entitlement. Revenue becomes predictable and restaurants keep more of a busy week, which is a genuinely easier sell to a restaurant that already has volume.

          
- Plans and commission can run together or separately
- The stored setting means the mix can change without a release
- A guard refuses to disable both at once, so economics stay defined

        
        
          C
          
### The multi-city operator

          
Several zones under one deployment, each with its own coverage, delivery pricing, cash ceiling and notification topics. Expansion is drawing an area and setting its charges, so the second city costs an afternoon rather than a second platform to keep in step.

          
- One schema and one deploy across every city
- Staff scope, dispatch and marketing all follow the zone
- Featured placement earns once a zone has enough listings

        
      
      
These are illustrative operator shapes rather than forecasts or observed results. Every rate, plan and fee in the model is one you set yourself.

    
  

  
    
      
        Mistakes
        
## Common Delivery Marketplace Mistakes

      
      
        
### Five that are expensive to undo

        
**Pricing the commission before modelling the basket.** A percentage that looks generous on a large order is a loss on a small one once the rider and the processor are paid. Model your smallest realistic basket first, because that is the order you will get most of.

        
**Drawing the first zone too wide.** A large area looks like more market and behaves like less, because rider time between drops rises faster than order volume does. Density is what makes delivery economics work, and a wide first zone is the hardest mistake on this list to reverse.

        
**Leaving counter trade outside the platform.** Walk-in and phone orders are real revenue, and a restaurant that keeps them off-platform is not being dishonest, it is using the tool you gave it. The till exists so that trade lands in the same books rather than in a notebook.

        
**Launching a customer membership early.** Waiving delivery fees for your most frequent customers discounts exactly the orders that were already profitable. It is a good line once you know what a repeat customer is worth over a quarter, and a quiet loss before that.

        
**Opening the ad desk to prove the model.** Advertising into a marketplace with no attention produces a small amount of money and a durable reputation for not being worth buying. Featured placement sold to your own restaurants earns much earlier and costs you nothing in credibility.

      
      
The first two are the ones we spend day zero on, because both are decided before a single order is taken and both are painful to change once restaurants have signed against them.

    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            How does a delivery platform actually make money?
            Six ways in this build, and two of them work from the first order: a commission percentage on every order, and the margin between what the customer pays for delivery and what the partner is paid for it. The other four need something to arrive first. Store subscription plans need restaurants earning enough to justify a plan, featured campaigns need enough listings for position to matter, a Pro customer membership needs customers who already order repeatedly, and advertising needs measurable attention at volume.
          
          
            Can I switch from commission to subscriptions later?
            Yes, and it is a stored setting rather than a release. The business model is held as configuration, with commission and store subscription as the two primary levers, and they can run separately or together. There is one deliberate restriction: a guard refuses to let you disable both at once, so a stray click can never leave store economics undefined. Changing the mix is an afternoon in the console, which is what makes it safe to launch on your first guess.
          
          
            What happens to old orders if I change my rate?
            Nothing, and this is the property that makes the rest of the money model trustworthy. The commission percentage and the discount split are frozen onto the transaction row at settlement, and item revenue reads the order line rather than the current menu price. Raise your rate today and last quarter's sales, commission and payout reports still show what was actually charged at the time, which is what lets a restaurant reconcile its own statement against yours.
          
        
        
          
            Who decides how a discount is paid for?
            You do, and it is recorded per order rather than assumed. The split between what you absorb and what the restaurant absorbs is configured, and like the commission rate it is frozen onto the transaction row at settlement. That matters because a promotion run in March should not be recalculated by a policy you changed in June, and because a restaurant will only agree to share a discount if it can see afterwards exactly what its share was.
          
          
            How do restaurants and riders actually get paid?
            Through scheduled disbursement runs, with the cadence, minimum amount, waiting period and week start configured in the console rather than in a crontab. The runs carry overlap locks so a slow execution is refused instead of duplicated, and each leaves a transaction history behind it. Every restaurant also has a full statement of its own, so the payout conversation is a shared record rather than your word against theirs.
          
          
            Does Miracuves take a share of any of this?
            No. The price is $2,199 once, and nothing is charged per restaurant, per rider or per order. We do not sit between you and your payment processor, we cannot see your rates, and we take nothing from a payout run. The commission rules, the discount split, the subscription plans, the delivery pricing and the tax configuration are all settings inside a deployment you own outright, along with the source code that implements them.
          
        
      
    
  

  
    
    
      
        
## Model it against the city you are actually starting in

Bring your zone, your expected basket size and your rider cost. We will run the six lines against them and tell you which two are worth switching on in week one.

        [Talk to Our Team](https://miracuves.com/schedule-consultation/)[Full Overview](/ubereats-clone/)
      
    
  

  
    
      
        Explore
        
## Explore the UberEats Clone

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

  
    
    
      
        
## Your rates. Your zones. Your books.

        
Six revenue lines built, the model switch stored as a setting, and every percentage in it set by you inside a platform you own outright with no cut going anywhere else.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **September 10, 2026**
        
        
          Miracuves · UberEats Clone Solution
          Revenue lines, rates and stated limitations cross-verified against the hub, 2026-09-10
        
      
    
  

				
				
				
				
						
					
			
						
				
					
  /* 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 **UberEats**.

        
          
            Why this name
            
“**UberEats** Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to UberEats, 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 UberEats website or applications.

          
          
            Trademarks
            
**UberEats** 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/)
