Regions
Jepela runs in regions. Each region is a whole Jepela: the API, every subject's memory and the engine, in the same part of the world, so a decision does not cross an ocean.
| Region | API | Status |
|---|---|---|
us, United States | https://us.api.jepela.com (also https://api.jepela.com) | live |
eu, Europe | https://eu.api.jepela.com | planned |
GET /v1/regions on any Jepela API returns this list as it is now.
A key belongs to one region
You choose the region when you create your account at app.jepela.com. The key carries it (jj_live_eu_...), and your tenant's keys, memories, usage and ledger stay in that region: nothing about your subjects is copied to another one. That is also why a key works only in its own region; sent to another, the API answers 421 wrong_region with the right address. The console that holds your account runs in the United States region. For an account in another region it reads the usage from that region when you open it, without subject ids; GET /v1/usage on your region's API lists them.
The SDKs and the Claude plugin read the region from the key and call the right address, so setting JEPELA_API_KEY is enough. Set JEPELA_BASE_URL only to override that. Keys made before regions existed (jj_live_ and 32 hex characters) are us keys.
Serving users on several continents: take one key per region and send each user's decisions to the region nearest to them. Memories do not move between regions.
Speed
The engine answers a three-question decision in 27 ms of its own time, timed on the engine's server (median of 25, 2026-09-24). The time your server sees adds the API's own work and the network between it, the region's API and the engine; from farther away, that is the round trip to the region, which is what the regions are for.