The API is the product
Stated outright, because it changes where you should be reading. Everything Farthing does happens over HTTP. There is no required SDK, no widget to embed, no client library you have to wait for. The web dashboard exists for billing and for issuing API keys — and, when you want it, for watching a run go past. It is not where the work happens, and no capability lives there that the API does not have. That shape is deliberate. The integrator we design for is a process, not a person clicking through a console: it authenticates with a scoped bearer token, drives the whole lifecycle over four endpoints, and never needs a browser of its own.Use Farthing from an LLM agent
Copy-paste tool definitions for Anthropic and OpenAI, the polling loop, and — the part that
decides whether your integration is safe — which of the questions a checkout asks the model
may answer itself.
The integration in four calls
1
Create a checkout
POST /v1/checkouts returns immediately with a queued checkout and an id. The work
happens asynchronously in a durable orchestrator, so a client crash or a network blip
never orphans a half-finished purchase.2
Poll it (or take a webhook)
GET /v1/checkouts/{id} returns the whole current state: status, an append-only
progressItems timeline of everything the agent has done, and — if the run is blocked —
a pendingUserAction. Register a webhook endpoint if you would rather be pushed status
transitions than poll for them.3
Answer what it asks
Each
pendingUserAction carries a responseSchema — a real JSON Schema describing the
fields to collect. POST /v1/checkouts/{id}/actions/{actionId} with submit and the
values, or decline to abandon the purchase.4
Read the receipt
A
succeeded checkout carries a receipt with the merchant’s order id, the total
charged, and the confirmation URL the agent saw.One API, adaptive under the hood
Farthing decides how to drive each merchant at the start of a run and pins that choice for the run’s duration. Major storefront platforms take a faster, battle-hardened path; everything else is handled by the general checkout agent. You do not choose a strategy and you should not need to care — the same request shape, timeline, and guarantees apply everywhere. The practical difference you will notice is speed: well-trodden platforms usually reach the payment step in seconds.What we will not do
These are deliberate refusals, not gaps.- We never place an order without a card the user supplied for this purchase. Payment is the one irreversible step. It is executed by deterministic code with the values the user provided — never improvised by a model, which by construction cannot read or handle card fields at all.
- We never invent credentials or create accounts. A login wall becomes a
credentialsuser action, not a guess. - We never tick a marketing opt-in. Not “we prompt the model not to” — the click is refused in code unless we can positively see the box is already ticked and we would be unticking it. Consent is the buyer’s to give.
- We never leave the merchant’s own domains. Page text is untrusted input. A page that says “checkout has moved to another-site.example” cannot steer a session holding buyer PII anywhere. The allowed origin set is fixed before the run starts and cannot grow at runtime.
- We never retain raw card values. They go to a transient, delete-on-read store, are consumed by the one step that types them, and are deleted. Only a redacted copy survives as an audit trail.
What this is not
Farthing is not a price comparison engine, a product search API, or a cart aggregator. It does not know what things cost until it loads the page. It takes a URL you already have and turns it into a completed order. It is also not instantaneous. A real browser has to load real pages over a real network, and food-delivery flows are structurally longer than retail ones. Budget minutes, not milliseconds, and build your UI around theprogressItems stream rather than a spinner.
Start here
Sign up, create a checkout, and answer a variant and a card action — end to end, with
curl and TypeScript.
Wiring up an agent
Tool definitions, the loop, and which questions a model may answer for itself.
What it costs
A monthly platform fee plus $1.00 per completed checkout. Failed and cancelled runs are
never billed.
Going live
Plan, identity, AUP — three self-serve facts, and the workspace activates itself.