⚖️ TrueTrade
The money decision

Who absorbs the processing fee — and does the model survive a ₡30,000 job?

Our launch jobs are ~₡30,000 (about $60). At that ticket size, the fee model isn't a detail — it decides whether each transaction makes money or loses it. This page puts the options side by side on real processor numbers, then gives a recommendation and an adversarial review of it.

⚠️ Figures are planning estimates. Processor rates were read from public pricing pages (June 2026) and are labeled with confidence; live web verification was unavailable in this build. Confirm every number with the processor directly before committing. The relative conclusions are robust to small rate changes; the absolute margins are not.
💱 Costa Rican figures are in colones (₡) at a round ₡500 ≈ US$1 for easy math; the colón actually trades near ₡510–520, so treat conversions as ballpark. Canada/Stripe figures stay in dollars.
Bottom line first

The one-paragraph answer

On a ₡30,000 (~$60) job in Costa Rica (the likely first market), a flat 5% take with the platform absorbing card processing nets roughly ₡0 — or a small loss. Card processing there runs ~3.9% + ₡175 and there's a ~₡1,500 payout fee, so almost the entire 5% is eaten before we keep anything. The model only works if we change one of three things: (1) pass processing to the customer (visible, Uber-style), (2) charge a tiered % that front-loads small jobs, or (3) move payments onto the cheap local rail (SINPE Móvil ~1.5%) and batch payouts. Absorbing processing on low-ticket card payments is the one option that doesn't work.

Absorb · CR card · ₡30k
≈ −₡57
Pass-through · CR card · ₡30k
≈ ₡1,300
Absorb · CR SINPE · ₡30k
≈ ₡845
Absorb · Canada/Stripe · $60
≈ $0.70

Net to the platform per visit, after processing + an (amortized) payout fee. Detail and assumptions below. Important: the adversarial review argues this per-visit framing is itself second-order — read it before treating any number here as the answer.

The base case

A single ₡30,000 (~$60) job under today's model (4% pro / 1% customer, absorb)

Today's documented model: the pro pays a flat 4% all-in, the customer pays 1%, and the platform absorbs processing inside that. Here's where the money goes on one ₡30,000 visit, in each of the three realistic payment contexts.

🇨🇷 Costa Rica · card (ONVO ~3.9% + ₡175)

Customer pays
₡30,300
Pro receives
₡28,800
Platform net / visit
≈ −₡57

Gross take ₡1,500 − processing ₡1,357 − batched payout ~₡200 = slightly negative. Per-visit (un-batched) payouts of ₡1,500 make it −₡1,357.

🇨🇷 Costa Rica · SINPE Móvil (~1.5%)

Customer pays
₡30,300
Pro receives
₡28,800
Platform net / visit
≈ ₡845

Gross take ₡1,500 − processing ~₡455 − batched payout ~₡200 = ~₡845 (~2.8%). The local rail roughly triples the margin.

🇨🇦 Canada · card (Stripe ~2.9% + $0.30)

Customer pays
$60.60
Pro receives
$57.60
Processing
~$2.06
Platform net / visit
≈ $0.70

Gross take $3.00 − processing $2.06 − Connect payout/account overhead ~$0.25 = ~$0.70 (~1.2%). Thin, but positive. (Stripe is not available in Costa Rica — it's a Canada-only option.)

📌 This is the number Marco flagged in the founder chat — "absorbing processing is a deal-breaker." On real CR card rates, he's right: the absorb model is structurally underwater at ₡30,000.
Side by side

Three fee models on the same ₡30,000 CR card job

Same job, same ~3.9% + ₡175 card cost, same batched payout. The only thing that changes is who carries processing and how the take is shaped.

A · Absorb (today)

Pro 4% + customer 1%, platform eats processing
  • Simplest story for both sides; one clean "4% / 1%".
  • Customer sees no processing line.
  • Platform's take and processing collide — and processing wins at low ticket.
  • Pro effective rate: 4%.
Platform net / ₡30k visit −₡57

B · Pass-through

Customer pays processing as a visible fee (Uber-style)
  • Platform keeps its full ~5% take regardless of ticket.
  • Processing is a transparent customer line item — normal in the category.
  • Customer pays a bit more (~₡31,500 on a ₡30,000 job).
  • Pro effective rate: 4%.
Platform net / ₡30k visit ≈ ₡1,300

C · Tiered %

10% first ₡25k · 5% ₡25k–125k · 1% above (to pro)
  • Front-loads the take on small jobs — designed for low ticket.
  • Stays positive even while absorbing processing.
  • Pro pays ~9% on a ₡30,000 job (vs 4%) — may feel steep for an informal earner.
  • Margin % shrinks as ticket grows (opposite of A/B).
Platform net / ₡30k visit ≈ ₡1,205

Model A is the only one that fails. B and C both clear ~₡1,200–1,300 on a ₡30,000 card job — they just put the cost in different places (B on the customer, C on the pro).

Does ticket size rescue it?

Platform net across ticket sizes (CR card)

Platform net per job, after ~3.9% + ₡175 processing and a batched payout, on Costa Rican card rates. This shows where each model breaks.

JobA · AbsorbB · Pass-throughC · Tiered (pro %)
₡15,000−₡216₡550₡540 (10%)
₡30,000−₡57₡1,300₡1,205 (9.2%)
₡50,000₡155₡2,300₡1,425 (7.5%)
₡125,000₡951₡6,050₡2,250 (6%)

Absorb (A) stays underwater across the entire HRLT range (₡15k–30k) and only turns clearly positive well above our launch ticket. Pass-through (B) is a flat ~4–5% everywhere. Tiered (C) is healthy at low ticket but its margin falls as jobs grow because it's still absorbing processing — a tiered + pass-through hybrid would fix that, at the cost of complexity.

Switching the same jobs to SINPE Móvil (~1.5%) lifts every cell — and turns Absorb positive from ~₡30,000 up. The processing rail matters as much as the fee model.

The other half of the decision

Which processor can even do this?

A marketplace must collect from the customer and pay out an independent pro while keeping a commission (a "split"). Most processors can't. And the launch market decides the shortlist — because Stripe and Helcim don't operate in Costa Rica.

ProcessorCard rateSplit / payouts?Costa Rica?Notes
ONVO Pay 🇨🇷3.9% + ₡175
SINPE 1.5–2.5%
Yes — nativeYesDocumented marketplace/sub-merchant split, public API, ₡1,500/payout. CR + Guatemala. Front-runner.
Tilopay 🇨🇷4.25% + ₡175Not nativeYesGood gateway; you'd build the split layer or confirm with sales.
Stripe Connect2.9% + $0.30
+1% intl
Yes — nativeNoBest-in-class splits, but can't onboard CR businesses. A Canada option only.
Helcim~1.7–2.3%
interchange+
NoNoCheapest rate, but no marketplace split at all + Canada/US only. Not usable as our backbone.
KushkiquoteYes (payouts)ConfirmReal payout capability; CR card-acquiring needs confirmation.
Mercado PagoYesNoNot in Costa Rica. Irrelevant for CR.

The chat's "use Helcim, it's cheaper" idea doesn't survive contact: Helcim has no marketplace split and isn't in CR. For a CR launch, ONVO is effectively the only turnkey option. Helcim/Stripe only re-enter the conversation if we launch in Canada instead.

Two free wins

Levers that help any model

🪙 Steer to SINPE Móvil

Costa Rica's instant bank-transfer rail costs ~1.5% vs ~3.9% on cards — and it's how locals already pay each other. Making SINPE the default (cards as fallback) roughly triples per-visit margin and can make even the absorb model viable. Adds a "no chargeback" benefit too.

📦 Batch payouts weekly per pro

ONVO charges ~₡1,500 per disbursement. Paying a pro per visit on a ₡30,000 job is a margin killer (−₡1,500 each). Paying each pro once a week for all their visits amortizes that ₡1,500 across many jobs — a recurring gardener with 4 visits/week drops it to ~₡50/visit.

A minimum-fee floor (e.g. don't let the platform's net go below ~₡500) is a third safety lever, useful under any model for the smallest jobs.

Recommendation

My review

Reading the numbers against the launch plan (CR-first, ~₡30,000 HRLT jobs), here's where I land.

✅ Decided: pass-through to the customer + tiered % to the pro

The customer covers ONVO's processing (visible, Uber-style) and the pro pays a tiered commission — the margin-strongest combination here. Two caveats carried into the pilot: (1) ONVO's marketplace commission is a flat %, so true tiering isn't native — we calibrate a flat ~9% to the first tier for the ~₡30k launch band and treat real tiering as a refinement; (2) a visible customer fee can invite cash defection, so watch conversion. The first-pass reasoning that led here is below.

First-pass recommendation: pass processing to the customer, keep a simple pro %, default to SINPE, batch payouts.

Concretely: pro pays ~4–5%, the customer pays a small platform fee (~1–2%) plus the visible processing fee, payments default to SINPE Móvil with cards as fallback, payouts are batched weekly per pro, and a minimum net floor protects the smallest jobs. This keeps a clean ~4–5% platform margin at every ticket size, survives the worst case (CR card), and a ~5% combined take is low for the category, so there's headroom.

⚠️ The adversarial review below pushes back hard on this — chiefly that a visible customer fee invites off-platform defection in a cash-default market, and that the per-visit margin is the wrong thing to optimize first. The synthesis revises this toward a tiered, customer-invisible take plus a validate-first plan. Read both before deciding.

Why not the alternatives

  • Absorb (A): structurally unprofitable on ₡30,000 CR card jobs. Off the table for HRLT unless every payment is SINPE — too fragile to bet on.
  • Tiered (C): genuinely viable and elegant for low ticket, but it loads ~9% onto an informal pro earning ₡30,000, and its margin erodes on bigger Tier-2/3 jobs. Keep it as a strong backup, especially if pros accept it.
  • Pass-through (B): most robust across markets, tickets, and rails; matches category norms (customers expect a service fee). Main risk is customer optics — mitigated by showing it plainly and keeping the platform fee small.

Category benchmark directional

Gig/marketplace take-rates broadly run 15–30%; pure lead-gen platforms (Thumbtack, Angi, Bark) charge per lead, not a % of the job; and a visible customer service fee is standard (Uber/DoorDash). A combined ~5% take is at the very low end — good for adoption, but it means we have little room to also absorb processing. (From training knowledge; live figures unverified — confirm.)

Steelman against the recommendation

Adversarial review

An independent pass whose only job is to attack the comparison above and the recommendation — so partners see the holes before betting on it.

Run by an independent reviewer with one instruction: attack the comparison and the recommendation; do not be agreeable. The strongest challenges, ranked:

1 · "Net per visit" is the wrong unit — fixed costs dominate at launch

At ~₡1,250 net/visit, the analysis ignores ONVO monthly fees, ops salaries, white-glove onboarding, and acquisition. One part-time CR ops person (~₡300,000–450,000/mo) needs 240–360 visits/month just to break even — before software or founders. Whether a cell is +₡1,300 or +₡1,205 is a rounding error against that. The per-visit comparison answers a question that isn't binding yet.

2 · The batched-payout assumption contradicts the target user — and it carries the whole result

The ~₡200/visit payout figure assumes pros accept weekly settlement. Informal gardeners and car-washers are the textbook "need cash now" population. If payouts are per-visit, the full ₡1,500 hits every job and the punchline flips:

Absorb · ₡30k · per-visit payout
≈ −₡1,357
Tiered · ₡30k · per-visit payout
≈ ₡0
Pass-through · ₡30k · per-visit payout
≈ ₡0

"Batch payouts weekly" is presented as a free lever. It isn't — it trades directly against retaining pros who live on daily cash flow. This single assumption can turn every model negative.

3 · Pass-through likely triggers off-platform defection — the Uber analogy is invalid here

Uber's fee hides inside an all-in price and the off-app alternative also costs money. Here the alternative is cash to a gardener at zero fee, and the relationship is weekly and personal. A visible processing line on a ₡30,000 job gives both sides a reason to go cash next week — disintermediation, which is worse for recurring services than for one-off rides. "Headroom because gig take is 15–30%" misreads the comp: those rates hold because the platform owns demand and the deal can't happen off-app. A weekly gardener trivially can.

4 · SINPE is overclaimed — and shifts unmodeled risk onto the platform

(a) Disintermediation: SINPE Móvil's natural UX is account-to-account P2P. If customers pay the pro directly, the platform collects 0% — steering to SINPE could steer revenue out. The "1.5% lifts every cell" only holds if the platform stays in the flow. (b) Chargeback / dispute liability is never assigned — as merchant of record the platform likely eats it, and one ₡30,000 card chargeback wipes ~10–25 visits of net. That tail risk is bigger than the margin being optimized.

5 · Betting the launch on ONVO is existential, not a footnote

"Effectively the only turnkey option" is stated, then never stress-tested. The real gate: can ONVO KYC-onboard informal pros who may lack tax registration or bank docs? If not, a large share of supply is locked out — and that's not in any number. Plus per-account limits, payout holds, no negotiating leverage as a tiny customer, and outage = 100% revenue stop. Validate ONVO onboarding of the informal supply base before any fee modeling.

6 · Model C (tiered) was under-rated

"9% on the pro" isn't a problem for someone paying 0% today who gains guaranteed recurring revenue. Crucially, tiered is charged to the pro and invisible to the customer — which sidesteps the conversion/disintermediation problem in #3 — and it captures most where pass-through earns least (small tickets). The strongest combo may be C's invisible pro-side tier + SINPE default, not B.

7 · This is premature optimization

The binding constraints at launch are: will ONVO onboard pros, will customers convert and stay, and will anyone defect to cash. A 4% vs 5% take on ₡30,000 is third-order. The right early posture is lowest-friction, possibly subsidized take to win liquidity + retention, then raise monetization once switching costs exist. The fee model is reversible; a failed launch is not.

8 · Concrete omissions

  • CR IVA (13% tax) is entirely absent — whether the fee/service is VAT-able and who remits changes every cell, and may be a legal obligation.
  • The min-fee floor contradicts pass-through transparency — surcharging small jobs is exactly the visible-fee-on-cheap-job conversion killer.
  • Refunds / partial refunds on recurring work eat margin (processing often non-refundable to us); unmodeled.
  • Payment failures (declines, retries, failed SINPE pushes) add per-visit ops cost not in any cell.
  • The Canada/Stripe column is a near-strawman — Stripe isn't in CR, so it's not a real second quote for the launch market.

What would most change the recommendation

  1. If pros require per-visit payouts — every model collapses toward ₡0 or negative at ₡30,000; only SINPE-default with cards as a costly exception survives, making the absorb debate moot.
  2. If SINPE routes customer→pro directly (P2P) — defaulting to it disintermediates the platform to ~0%; the "free win" becomes revenue suicide unless funds are forced through a platform-controlled account.
  3. If ONVO won't KYC informal pros, or the platform eats chargebacks — either kills the launch regardless of fee model; both must be validated before choosing A/B/C.

Synthesis — where this leaves us

The adversarial pass is largely right, and it reorders the work:

  • Validate three things before locking any fee model: (1) Can ONVO onboard informal pros? (2) Does SINPE keep the platform in the money flow, and who owns chargebacks? (3) Will pros accept weekly (batched) payouts, or do we need instant?
  • Lean toward Model C (tiered, pro-side, invisible to customer) over pass-through — it avoids handing customers a reason to defect, and front-loads the small tickets we're launching with. Revise my earlier pass-through preference accordingly.
  • Treat per-visit margin as second-order. Optimize for liquidity, retention, and staying in the payment flow first; tune the take once switching costs exist.
  • Add the missing lines to the model: CR IVA (13%), chargeback/refund liability, payment-failure ops cost, and real fixed costs (ops + onboarding + CAC) — these dwarf the 4%-vs-5% question.

Net: the original recommendation (pass-through) optimizes the wrong constraint. The decision-ready position is "validate the three existential unknowns, lean tiered/invisible, default to SINPE while guaranteeing the platform stays in the flow, and stop optimizing per-visit margin until the loop is proven."

Before we commit

Open questions this page surfaces

Validate first (existential — before locking the fee model):

  1. Can ONVO KYC-onboard informal pros who may lack tax registration or bank docs? (If not, supply is gated regardless of fee model.)
  2. Does SINPE keep the platform in the money flow, or does it route customer→pro directly (P2P) and disintermediate us to ~0%?
  3. Who owns chargeback / dispute liability, and will pros accept weekly batched payouts or do they need cash per visit?

Then decide:

  1. Tiered/customer-invisible take (Model C) vs visible pass-through (Model B) — which protects conversion and margin?
  2. How do CR IVA (13%), refunds, and payment-failure costs change the picture once added to the model?
  3. What are the real fixed costs (ops, white-glove onboarding, CAC) and how many recurring customers cover them?
  4. If we launch in Canada instead, does Stripe's cleaner tooling outweigh CR's faster path to density?
🧭 These feed the live calls on Decisions →