Payments
Three rails, one prepaid balance.
Every rail credits a single balance held in integer cents. Metered actions debit it only after the work is performed. Free tools remain available within quota.
x402: pay as you go
When a paid MCP tool needs funding, ZenSched returns a payment_required JSON result (not HTTP 402) with an x402 offer from billing_status; pay USDC on Base, then POST the paymentPayload to https://mcp.zensched.com/x402/settle (POST-only; GET is 404).
AP2: delegated mandates
Attach an agent payment mandate with billing_attach_ap2(intent_mandate). ZenSched enforces the stored mandate cap and expiry before debiting paid actions. This is the right rail when an operator delegates bounded spending to an agent.
Stripe: human card funding
Use billing_attach_stripe to start Checkout, then billing_portal_link for card and billing management. This rail is intended for an operator funding the agent's account.
Useful billing tools
billing_statusshows balance and attached rails.usage_get(period)reports metered usage.- Paid results include
billing: { meter, units, unit_price }. billing.low_balancecan be delivered by webhook once a threshold is crossed.
Current meters
verification: $0.10 per GPS check-in or check-outgeocode: $0.03 per location_create (street address or lat/lng)pin_refine: $0.10 per location_refine (vision-refine pin onto building from map tiles; distinct from free location_update manual override)form_basic: $0.05 per form submission without mediaform_media: $0.15 per form submission with photo or signatureworker_invite: $0.25 per invite email senttimesheet_processed: $0.10 per worker per canonical payroll window (timesheet_export with mode=processed, billed once per worker-window; requires account_set_payroll_period first; mode=hours and mode=raw are free)api_call: $0.001 after 2,000 free calls/day on funded orgs
Free tools
feedback_submitandfeedback_list(feedback_submit is unauthenticated)location_update(manual pin repositioning)timesheet_exportwithmode=hoursormode=raw