Payments & payouts
How providers earn credits now, and how USDC-on-Base payout ships at public beta.Every request that reaches your Mac produces credits. Credits accumulate on the billing ledger at 90% provider share. USDC-on-Base payout is not live in pre-beta. It ships when Malibu enters public beta. Until then, balances are visible in the app; they do not leave the ledger as USDC.
What you earn per request
For every billed request the coordinator computes:
Default provider share: 0.90 (90%). The operator can override this globally or per-model. Canonical today-vs-launch split: Economics.
Both
grossCredits and providerCredits use banker’s rounding — ties round to the nearest even quotient, eliminating systematic bias across large volumes of small requests.
Worked example
1,000 prompt tokens + 500 completion tokens at default rates and 90% provider share:When you get paid
- Today (pre-beta): credits accrue. No USDC leaves the ledger.
- At public beta: USDC on Base, weekly sweep (Monday 00:00 UTC design), minimum payout threshold 500,000 credits. See Network overview → Metering & billing.
- Below the threshold, credits roll to the next window.
Settlement-capable traffic and the receipt deadline
For settlement-capable traffic (v0.3+ signed receipts), a provider receipt must arrive before the coordinator’spending_deadline_seconds window closes. Receipts arriving after the deadline are non-settling and non-recoverable — they cannot create provider credit, payout readiness, or a new buyer debit.
Missing, malformed, or unverifiable receipts settle as FaultBreakerQualifying with zero provider credits. Details: Operations → Verified model settlement.
Checking your balance
Balance, per-model breakdown, and last payout are visible in the Malibu app. The underlying endpoint:?from=YYYY-MM-DD&to=YYYY-MM-DD (max 31 days).
Provisional vs pinned
Newly installed providers join at the provisional tier — lower routing weight, capped pool size. The operator promotes providers to pinned after observed pool stability, uptime, and review. Pinned providers get higher routing priority. Self-serve promotion is on the roadmap.Why your Mac might drop mid-window
- Lid-close sleep drops the WebSocket.
caffeinateprevents display and user-idle sleep during a run but not lid-close sleep. The binary reconnects automatically on wake; in-flight requests during the sleep are lost. - Heartbeat reaping. If no frame arrives within 90 seconds (default
pool.heartbeat_miss_threshold_s) the coordinator closes the connection. Streaming inference chunks count as heartbeat activity. - Warmup gate. After reconnect the coordinator holds the provider in a warmup state for up to 90 seconds while verifying it can handle requests. Requests during warmup route to other pool members.