The AutoPay Agent
Six capabilities your billing surface gets for free.
The AutoPay Agent runs scheduled background work for your account: things like recovery emails for failed charges, daily cashflow digests, and anomaly alerts. It holds no signing key, so it can't move money on its own. Every action either sends an email, writes to your activity log, or queues a job that needs your approval before anything signs on-chain.
You turn capabilities on and off individually. They live in the dashboard under AutoPay Agent → Capabilities.
recovery
When a subscription charge fails, the customer needs to know. The agent emails them for you on a cadence you set:
strategy | Cadence (relative to currentPeriodEndAt) |
|---|---|
once | T+0 |
twice | T+0, T+24h |
until_grace_ends | T+0, T+24h, T+72h |
You can override the email body with a custom template via
recoveryNotificationTemplate. Strimz renders it inside the
standard wrapper (header, unsubscribe footer) so the brand stays
consistent.
If the customer has no email on file (wallet-only checkout), the agent records recovery_abandoned in your activity log so finance can follow up manually.
cashflow.digest
Daily 9am UTC, the agent emails you yesterday's roll-up:
- Confirmed transaction count
- Gross revenue
- Strimz fees
- Net to your wallet
- Unique customers
Idempotent per UTC day. If a flapping cron fires twice, you only get one email.
cashflow.anomaly
Hourly, the agent computes a z-score for the last completed clock-hour against the trailing 30-day average for that same hour-of-day. If your revenue dropped more than nσ (n derived from your anomalySensitivity: low=3σ, medium=2σ, high=1σ), you get an email plus an AuditLog entry. The agent only flags drops because revenue surges aren't actionable.
The math:
The agent needs at least 7 prior data points before it will alert. Merchants in their first week don't get surprised by false positives.
cashflow.yield
Daily 9:30am UTC, the agent computes your running net balance:
If balance > cashflowMinimumLiquidReserveCents and you've enabled cashflowAutoConvertToYield, the agent emails you a recommendation: "you have $X in surplus over your $Y reserve target. Consider moving the excess to a yield position".
The agent never signs the deposit itself. Confirming the recommendation in the dashboard is what enqueues a scheduler job to sign on your behalf. Fund movement is opt-in per transaction.
commerce
Monthly (1st of each month, 9am UTC), the agent emails you last month's vendor activity:
- Total spend across all approved/completed
AgentJobs - Top 5 vendors by spend
- Cap utilisation:
total_spend / commerceMonthlySpendCapUsdCents - Count of jobs awaiting your approval (
status = proposed)
Plus a one-line nudge if any vendor's monthly spend has increased >50% over their three-month average. Possibly worth a closer look.
pricing_intelligence
Monthly, the agent runs the same SQL aggregates the API exposes via /v1/stats/{mrr,churn,forecast}:
- MRR (interval-normalised across daily/weekly/monthly/quarterly/yearly subs)
- 12-month average churn rate
- 90-day linear-regression revenue forecast (next 30 / 60 / 90 days)
…and emails them to you with a confidence rating (low / medium / high) based on sample size.
routing
This one's queue-driven instead of cron-driven. When a customer pays from a non-Arc chain (e.g., USDC on Base), the checkout client enqueues a strimz.routing.cctp.bridge job. The agent worker:
- Records
routing_bridge_initiatedin your activity log - Polls Circle's CCTP V2 attestation API (re-enqueues itself with a 30-second delay until status=
complete) - Hands off to the scheduler, which calls
MessageTransmitter.receiveMessage(message, attestation)on Arc to claim the bridged USDC - Records
routing_payment_completed
You don't have to do anything. The customer pays from whatever chain holds their USDC, and the equivalent USDC lands in your Arc wallet a few minutes later. The bridge is invisible from your end.
identity
A capability flag rather than an automation. When enabled, your dashboard surfaces extra business-info verification steps (KYB, beneficial-owner declaration, sanctions screening). The agent itself doesn't do anything for this capability. It's a configuration affordance.
How to enable
Or use the dashboard. Capabilities are individually toggleable; turning one off doesn't affect the others.
