For developers
One base URL, and evidence on the way back.
The migration is a single line. What you get in return is a signed record of which machine answered, which model artifact it loaded, and which runtime build it ran — checkable after the fact, by you, without asking us.
The change
Illustrative — the endpoint is not open yet, and the values are sample values.
from openai import OpenAI
client = OpenAI(
base_url="https://api.opengrid.computer/v1",
api_key=OPENGRID_API_KEY,
)
response = client.chat.completions.create(
model="llama-3.1-8b-instruct",
messages=[{"role": "user", "content": "Hello"}],
)
# the part that is different
print(response.receipt.provider) # blr-studio-01 · ap-south-1
print(response.receipt.model_artifact) # sha256:7b064f58…557cThe life of one request
Step through it, or flip the toggle to see what a failed attempt leaves behind.
What the edge keeps
The API key is stored only as a SHA-256 digest. Prompt, tool schemas, output text and token IDs are not persisted by the coordinator.
- receipt_id
- provider
- —
- provider_key
- —
- model_artifact
- —
- runtime_build
- —
- transport
- —
- tokens_in / out
- —
- signed_at
- —
- ledger_entry
- —
Step 1 of 5. Metadata-only persistence.
A receipt is yours to keep, hand to someone else, or check against the ledger.
Questions you are about to ask
- What do I have to change?
- A base URL. The surface is OpenAI-compatible, so the client library you already use keeps working — same request shape, same streaming, same tool-calling.
- What does the receipt actually prove?
- That a specific set of bytes answered your call. Routes bind to an artifact digest and an approved engine-build digest, not to a model name, so "llama-3.1-8b-instruct" cannot quietly become a quantized stand-in.
- What happens when a request fails?
- The staged evidence is kept and never countersigned, and no ledger entry is written. A failure leaves a record instead of a silence — flip the toggle above to walk that branch.
- What do you store?
- Metadata. The API key is kept only as a SHA-256 digest, and prompts, tool schemas, output text and token IDs are not persisted by the coordinator.
- Who is actually serving my request?
- A named operator with a revocable Ed25519 identity, in a region you can constrain. The receipt names them. We do not operate capacity ourselves, so there is no house provider competing with the ones you route to.
Read it yourself
The coordinator, the node daemon and the protocol are Apache 2.0. Everything the panel above describes is specified in the repository rather than in marketing copy — including how a model artifact is pinned and verified.