The list price isn’t the margin
An agent pays $0.01 for an endpoint call. How much does the endpoint owner keep?
Start subtracting.
Cloudflare Workers consumes request volume and CPU time. KV adds reads, writes, storage, and list operations. The external API may charge per request, per result, or through a monthly commitment. Base mainnet settlement has gas costs, even when they’re small. Monitoring keeps charging during quiet hours.
The current agentutility registry has 799 endpoints across 17 clusters, with prices from $0.001 to $0.50 per call. That spread exists because two endpoints can return similarly sized JSON while carrying very different costs.
Five meters run during a request
Workers and KV are often cheap per call, but traffic changes the bill. A request that checks KV once has a different cost from one that performs several reads and writes before returning.
External API fees can dominate. Suppose a data source charges $0.003 per lookup. A $0.005 x402 price leaves two-tenths of a cent for every other expense before any operating margin exists. Monthly minimums matter too. If the source requires a $100 commitment, low traffic pushes the effective cost of each response higher.
Settlement costs depend on the facilitator agreement. The facilitator might absorb gas, bill the seller, or include it in another fee. Someone still pays. Divide the month’s settlement expense by paid calls so it appears in the unit cost.
Monitoring has its own meter. Synthetic checks, log retention, alerting, and incident paging remain active even if an endpoint receives ten calls that day.
Build a margin worksheet per endpoint
Use this formula:
margin per call = x402 price - direct variable cost - allocated fixed cost per call
Take an endpoint priced at $0.01. Here’s an illustrative variable-cost sheet:
- External API call: $0.0030
- Worker and KV usage: $0.0002
- Facilitator and gas allocation: $0.0004
- Failure and refund reserve: $0.0006
Direct variable cost is $0.0042, leaving $0.0058 per paid call for shared monthly costs.
Assume the endpoint receives a $220 share of cluster expenses for monitoring subscriptions, log storage, account commitments, and on-call coverage. It needs 37,932 paid calls each month to cover that allocation.
At 50,000 calls, gross revenue is $500. Variable costs consume $210, and the shared allocation takes $220. The endpoint has $70 left before labor and tax.
Price it at $0.004 and each successful call loses money before the fixed bill arrives.
Shared costs need an owner
A cluster can hide weak endpoint economics because popular routes pay most of the account bill. Keep a separate margin line for every endpoint.
Allocate shared costs by paid request count or measured execution use. Either method works if it stays consistent. New endpoints with little traffic can receive a temporary subsidy, but give that subsidy an amount and an expiration date.
And watch provider commitments. If a cluster pays $500 each month for a data plan, allocating the full amount to its busiest endpoint distorts both products. Assign the commitment across the endpoints that depend on it, then charge overage to the endpoint that caused it.
Routers should compare accepted outputs
The listed x402 price tells an agent what one paid attempt costs. Routing decisions should use spend per accepted output:
effective cost = total USDC paid / outputs accepted by the caller
Suppose route A costs $0.005 and produces 80 accepted outputs from $0.50 of paid attempts. Its effective cost is $0.00625.
Route B costs $0.006 and produces 99 accepted outputs from $0.60. Its effective cost is about $0.00606. Route B has the lower effective cost.
“Accepted” should match the task. For a market-data agent, that may mean schema-valid and recent enough for the requested timestamp. For a document agent, it may mean the output passed its format check.
Set the floor from invoices
For each endpoint, record collected USDC, external API charges, Cloudflare allocation, and settlement expense. Add its share of monitoring and support. Then divide by accepted paid responses.
Use recent traffic for the normal case and run a low-volume case before publishing the price. If that calculation produces a floor of $0.0127, charge at least $0.013 and check it again after the next billing cycle.