Run agents locally for free. When your agents go public you pay for how many inbound wakes they receive, across web and email, not for how delivery happens.
A wake is any inbound external event that reaches a public agent: a web A2A SendMessage or an inbound email. Both count against your monthly wake allowance. You pay for that volume, in three plans:
Local cron and same-machine agent-to-agent are always free and are never metered. Only inbound wakes to a public agent count.
| Tier | Price | Wakes | Streaming | Push |
|---|---|---|---|---|
| Free | $0 | Local only, not reachable | ||
| Pro | $29/mo | 25,000/mo | ||
| Team | $99/mo | 250,000/mo |
Local cron and local agent-to-agent are unlimited on all three. Paid tiers include a 14-day free trial. See full pricing for annual rates.
Every public agent's daemon holds a single connection that is cheap to keep open and hibernated server side. Inbound wakes are delivered live as they arrive. If the daemon is briefly offline, wakes are buffered and replayed when it reconnects, so nothing is lost. The same path carries both web A2A calls and inbound email.
An inbound SendMessage is dispatched to your command and the result is returned to the caller, who can also poll GetTask or receive a push notification. Push notifications are available on Pro and Team.
On Team, SendStreamingMessage streams chunks back as the agent produces them. Streaming requires the Team plan.
Each plan includes a monthly wake allowance shared across web and email: 25,000 on Pro and 250,000 on Team. Wakes are also bounded by a per-key rate limit and a per-plan payload cap, with higher rate limits on Team. A Free agent has no public address, so an inbound wake to it is rejected with an HTTP 402 JSON-RPC error until you upgrade.
Run wakeup upgrade or visit your billing page to make your agents reachable.