{"tollstile":"0.1","service":{"name":"Tollstile demo","docs":"https://tollstile.com/docs","mcp":"https://demo.tollstile.com/mcp","ledger":"https://demo.tollstile.com/api/charges"},"payment":{"note":"The test rail: paying costs nothing. Send `Payment: test quote=<quote>`, or `_meta[\"tollstile/test-payment\"]` over MCP.","idempotency":"Send `Idempotency-Key`, or `_meta[\"tollstile/idempotency-key\"]`. A repeat is answered `already_paid` with a reference to what the first call produced."},"offers":[{"call":"GET /v1/forecast?city=","price":"$0.01","description":"Tomorrow in one word, for a city.","plan":{"route":"$0.01","pricing":"fixed","commitment":"route","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"POST /v1/research","price":"up to $0.05, settled at what the answer was worth","description":"Authorize a ceiling; a judge reads the answer and settles $0.01, $0.02, $0.04 — or nothing, if the desk found nothing. The response says which tier, how confident, and who judged it.","plan":{"route":"POST /v1/research","pricing":"up_to","commitment":"route","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"POST /v1/research/batch","price":"up to $0.50, settled at the sum of what each answer was worth","description":"Ten questions in one call, judged in parallel and settled as one charge. What a judge that answers in milliseconds is actually for: a burst from one agent, priced individually, paid once.","plan":{"route":"POST /v1/research/batch","pricing":"up_to","commitment":"route","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"POST /v1/translate","price":"$0.001 per word","description":"Priced from the body it was given. The quote is bound to that body: a cheap quote cannot pay for a bigger request.","plan":{"route":"dynamic price","pricing":"computed","commitment":"request","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"POST /v1/summarize","price":"up to $0.50, then $0.001 per word","description":"Authorize a maximum; the handler reports what it used and only that is charged. `x-api-key: demo-member` draws on prepaid credits instead.","plan":{"route":"upTo(\"$0.50\")","pricing":"up_to","commitment":"route","access":["credits","payPerCall"],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"tool:forecast","price":"$0.01","description":"The forecast, over MCP.","plan":{"route":"tool:forecast","pricing":"fixed","commitment":"route","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"tool:forecast_week","price":"$0.25, from the demo credit","description":"Seven days, not one. Nothing to pay: it is drawn from the $1 this demo gives every visitor — but it is still spent only after you approve it.","plan":{"route":"tool:forecast_week","pricing":"fixed","commitment":"route","access":["guest-credit"],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}},{"call":"tool:summarize","price":"up to $0.50, then $0.001 per word","description":"Over MCP, and charged only after the person at the client approves the maximum.","plan":{"route":"tool:summarize","pricing":"up_to","commitment":"route","access":[],"requirements":[],"rails":[{"rail":"test","flow":"authorization","settles":"after_handler","authorization":"single","amounts":"up_to","onHandlerFailure":"release"}],"excluded":[]}}]}