Terminal harness — CLI + TUI
A Go terminal agent harness built on Bubble Tea runs on your own machine. Talk to models, inspect usage and drive the gateway from the terminal you already have — nothing of yours leaves your box but the API calls.
AI API Gateway — OpenAI-compatible — prepaid Rupiah
panto puts one OpenAI-compatible base URL in front of direct providers, other AI gateways and subscription accounts. Each request is routed to the cheapest healthy upstream, fails over invisibly when one breaks, and is metered per request against prepaid Rupiah credits.
https://panto.sundabuilder.id/v1 How a request flows
Your client sends a normal OpenAI call to /v1/chat/completions, authenticated with a panto key.
panto prices the request on every healthy upstream and picks the cheapest one that works right now.
If that upstream errors, stalls or breaks, the request retries elsewhere. Your code just sees the answer.
Tokens in, tokens out — recorded per request, as it happens, against your balance.
The landed cost settles from prepaid credits. The console shows every request's cost.
Surfaces
A Go terminal agent harness built on Bubble Tea runs on your own machine. Talk to models, inspect usage and drive the gateway from the terminal you already have — nothing of yours leaves your box but the API calls.
panto speaks Model Context Protocol, so other agents can drive the gateway directly: discover models, run completions and read what they spent — through the same base URL and key.
Balance, usage and API keys live at /console. Top up prepaid Rupiah credits over QRIS and watch every request settle against them.
The one base URL
Everything speaks the OpenAI shape: /v1/chat/completions for calls,
/v1/models for discovery. Swap the base URL, keep the rest of your code.
# point your OpenAI SDK at one URL
$ export OPENAI_BASE_URL=https://panto.sundabuilder.id/v1
$ export OPENAI_API_KEY=<your panto key>
# chat completions — the OpenAI shape
$ curl -s "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "<model>", "messages": [{"role": "user", "content": "halo, panto"}]}'
# see which upstreams are healthy right now
$ curl -s "$OPENAI_BASE_URL/models" -H "Authorization: Bearer $OPENAI_API_KEY" The deal
You top up Rupiah credits before you spend. Nothing pending, nothing owed, no invoice surprise.
Every top-up goes through QRIS — Indonesia's QR payment standard. Bayar sekali scan.
panto publishes no price list. Each request is metered at the landed cost of the upstream that served it, visible in the console.
No residency, compliance or uptime promises on this page. Your console records are the record.