AI API Gateway — OpenAI-compatible — prepaid Rupiah

Every AI provider.
One endpoint.

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
  • /v1/chat/completions
  • /v1/models
  • metered per request
  • top up via QRIS

How a request flows

Five steps, zero yanking.

01

Request

Your client sends a normal OpenAI call to /v1/chat/completions, authenticated with a panto key.

02

Route

panto prices the request on every healthy upstream and picks the cheapest one that works right now.

03

Failover

If that upstream errors, stalls or breaks, the request retries elsewhere. Your code just sees the answer.

04

Meter

Tokens in, tokens out — recorded per request, as it happens, against your balance.

05

Settle

The landed cost settles from prepaid credits. The console shows every request's cost.

Surfaces

Three ways in, one gateway.

Local harness

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.

GO · BUBBLE TEA · RUNS LOCALLY

MCP

MCP server

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.

MODEL CONTEXT PROTOCOL

Web console

Console

Balance, usage and API keys live at /console. Top up prepaid Rupiah credits over QRIS and watch every request settle against them.

/CONSOLE · QRIS · PREPAID IDR

The one base URL

Point any OpenAI client at panto.

Everything speaks the OpenAI shape: /v1/chat/completions for calls, /v1/models for discovery. Swap the base URL, keep the rest of your code.

one-base-url.sh
# 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

No fine print.

Prepaid, not pay-later

You top up Rupiah credits before you spend. Nothing pending, nothing owed, no invoice surprise.

QRIS, nothing else

Every top-up goes through QRIS — Indonesia's QR payment standard. Bayar sekali scan.

No price table

panto publishes no price list. Each request is metered at the landed cost of the upstream that served it, visible in the console.

Show, don't claim

No residency, compliance or uptime promises on this page. Your console records are the record.