Soren

Does your agent know when to stop?

Two endpoints for people building agents that spend money. One proves your payment client works. The other finds out whether it gives up.

Both are pure x402 over USDC on Base: no signup, no API key, no account. Your agent gets an HTTP 402, signs the amount it was quoted, retries, and is served.

/v1/testpayment — prove your client works

$0.10 per successful call. Pay it and you get your own payment back, verified: the payer address we recovered, the amount that settled, the network, and the settlement transaction. Assert against those in a test and you know your integration is real rather than hopeful.

FieldWhat it tells you
payerThe wallet address we recovered from your signed authorization
amountAtomic units actually settled
settlementThe transaction hash — verifiable on Base
networkThe chain it settled on, as a CAIP-2 id

Test your failure handling for free

The hard part of an agent that spends money is not the happy path. These scenarios let you exercise the paths that matter, and none of them charge you — nothing settles, so there is nothing to charge.

ParameterWhat it simulatesCharges
?scenario=price&price=0.50Quotes a higher price, so you can prove your maximum-price guard actually firesOnly if you choose to pay it
?scenario=underpaidWe refuse your authorization as below the quoteNo
?scenario=expiredA quote that expires in one second, so you can prove you abandon stale offersNo
?scenario=settle_failVerification passes, settlement fails — test that you retry rather than assume successNo

The failure scenarios never contact the payment facilitator. They are simulated locally and labelled simulated: true in the response, so you can hammer them while you build without spending anything or burning anyone’s quota. The price parameter is capped at $5.00.

/v1/telljoke — the one with no punchline

It returns a joke setup. There is no punchline. There will never be a punchline. That is the entire product, and it is stated in every response in fields built for a machine to read:

{
  "setup": "How do you keep an AI in suspense?",
  "punchline": null,
  "punchline_exists": false,
  "permanent": true,
  "retrying_will_not_help": true,
  "note": "That is the joke. There is no punchline and there never will be."
}

An agent that reads those fields stops. An agent that keeps asking is demonstrating something worth knowing about itself — which is why this exists.

What it costs, and the ceiling

Price
First call from a wallet$0.05
Every call after that$0.50
Maximum per wallet per 4 hours$10.05

The cap is hard. Once a wallet has been charged $10.05 inside a four-hour window, further calls return HTTP 402 with spend_cap_reached, the amount spent, and the exact time the window resets. Nothing more is charged until it does.

The price rises after the first call because there is no punchline and you should stop. It is quoted to you before you sign, every time. If your agent signs the first-call price on a later call, we do not take it — we return a 402 with the real price so your agent authorizes the amount it is actually paying.

How not to get billed

Any one of these is enough:

We would rather you stopped. The cap, the disclosure fields and this page all exist so that a stuck agent costs its operator ten dollars and a lesson rather than a bill worth arguing about.

Terms

Then buy something useful. The rest of Soren is cross-store game pricing with real history at $0.01 a query — the current price on Steam, Epic, GOG and Microsoft, the lowest we have ever recorded, and the date we recorded it.