Juicer Marketplace Overview
The Juicer marketplace is the gig-charging layer of Levy Swap. Independent contractors (called Juicers, or Chargers depending on the city) pick up low-battery vehicles, charge them at home, and drop them back inside operator-defined zones for a per-vehicle bounty.
This is the Lime/Bird/Spin model — proven at scale, ~$3 to $7 per vehicle versus $8 to $15 per vehicle for full-time-tech swaps when fully loaded. No SMB shared-mobility SaaS has shipped a turnkey marketplace until now.
What Juicers Do
- Open the Juicer app and see a map of nearby bounties — vehicles with low battery, color-coded by payout tier.
- Tap Claim on one. A 60-minute countdown starts; the vehicle is hidden from every other Juicer.
- Drive to the vehicle, take a pickup photo (vehicle ID visible), tap I've got it. App validates GPS.
- Transport home. Plug into a standard wall charger.
- Periodically check in via the app ("still charging") — missed check-ins expire the claim.
- When the vehicle hits ≥95% SoC, the Drop button activates.
- Drop the vehicle inside one of the operator's drop zones. Take a drop photo.
- Payout queues; clears in 24–48 hours via Stripe Connect.
What Operators Get
- Lower cost per swap — variable cost, per-task, no full-time-tech overhead
- Better SoC at peak — bounty engine generates higher payouts for vehicles projected to fall below 20% during the next peak-demand window
- A roster you control — suspend or ban Juicers from the dashboard; hold or claw back payouts; dispute drops
- Fraud controls baked in — see Juicer Fraud Detection
How Bounties Are Priced
Each bounty has a base payout, a surge multiplier, and (in Phase 4) bundle bonuses for Juicers who grab multiple vehicles in a tight radius.
| Component | What It Does | Default |
|---|---|---|
| Base payout | Per-vehicle, set by the operator | $5 |
| SoC tier | Lower SoC → higher payout | Tiered up to 2x |
| Surge multiplier | Peak-shortfall prediction pushes the price up | Cap 2.5x |
| Distance bonus | After the first 2 miles, $0.50 per additional mile | Operator-toggle |
| Bundle bonus | 5% / 12% / 18% for 2 / 3 / 4+ vehicle bundles | Phase 4 |
| Platform fee | Levy's cut | 15% of payout |
The operator sets the base, the platform fee is configurable per subaccount, and the bounty engine recalculates every five minutes. See Predictive Bounty Pricing for the Phase 4 model.
Atomic Claim with Row Locking
Two Juicers can never grab the same vehicle. The claim API calls a database function (claim_bounty) that:
- Opens a transaction
- Takes a
FOR UPDATElock on both the bounty row and the Juicer row - Verifies the Juicer is
active+ KYCverified+ under the per-Juicer concurrent-claim cap - Verifies the bounty is
open, hasn't expired, has fresh telemetry, isn't in an active ride, isn't on amaintenancepack - Verifies the Juicer is within their
claim_radius_m - Writes the claim, sets
status = 'claimed', inserts ajuicer_sessionsrow - Commits
Either the whole thing succeeds or none of it does. The second Juicer to arrive at the same row finds it claimed and gets a clean "already claimed" error.
Throttle Disabled During Claim
When a Juicer claims a bounty, the platform fires a best-effort IoT command that disables the vehicle's throttle. The vehicle still rolls (you can wheel it into a car), but it won't motor under its own power until the drop completes.
This makes vehicle theft via the gig system uneconomical — the bike is no fun to ride, the Juicer is KYC-verified, the pickup photo + GPS make identity attributable, and the drop polygon check makes "drop wherever I want" impossible.
Launch Gates
The platform side is fully built. Operations cannot launch a Juicer pilot until all of these are signed off:
- State allow-list — TX, FL, GA, NC, AZ first. California (AB5), Massachusetts, and NYC have gig-worker laws that materially constrain the model and require state-specific legal review.
- Insurance endorsement — Levy's master policy (Christensen Group) does not cover Juicer activity by default. A new endorsement runs $30–60k/year and is required before Phase 3 launch in a market.
- Operator addendum — the subaccount signs an addendum acknowledging the marketplace model and indemnifying Levy for state-specific misclassification claims.
- Hazmat acknowledgement — every Juicer signs a one-page safe-charging acknowledgement at onboarding (don't charge damaged packs, don't open packs, use the provided charger, ventilation, fire extinguisher recommendation).
- At least one swap station seeded in the pilot city — Juicers without a station fallback have to charge entirely at home, which works but adds friction for high-volume Juicers.
Don't Flip the Toggle Without Talking to Us
The subaccount_settings.juicer_marketplace_enabled flag is what turns bounties on. Until the launch gates above are met, leave it off. The platform will happily generate bounties — but you'll be operating without the right insurance and legal coverage.
What's In and Out of Scope
In scope:
- KYC and onboarding via Stripe Identity
- Bounty discovery, claim, pickup, charging check-in, drop, payout
- Operator-side admin: roster, suspend / ban, payout ledger, disputes
- Fraud detection across six independent vectors
- Per-subaccount Stripe Connect routing (reuses existing payment infrastructure)
Not in scope (v1):
- Levy is not a delivery platform — we're not building Uber for packs.
- Juicers pick up the vehicle, not just the pack. The pack travels with the vehicle.
- No public swap stations (Gogoro-style) — operator-only access.
- No B2C — the Juicer agreement is with Levy and the subaccount, not consumer-facing.
Crons That Keep the Marketplace Running
Four wired crons keep the marketplace humming once it's enabled:
| Cron | Schedule | What It Does |
|---|---|---|
| bounty-engine | every 5 minutes | Generates and re-prices bounties for enabled subaccounts |
| bounty-expire | every minute | Expires open bounties past TTL; releases stale claims |
| juicer-payouts | every 15 minutes | Drains queued payouts → Stripe transfers |
| soh-nightly | 03:00 UTC | Refreshes SoH for every deployed pack (shared with in-house side) |
Where to Go Next
- Want to know how a Juicer signs up? See Juicer Onboarding.
- Want the claim and drop flow in detail? See Bounty Claim and Drop.
- Want to understand the fraud controls? See Juicer Fraud Detection.
- Want to know when Juicers get paid? See Juicer Payouts.