Private inference by the minute · quality-gated · self-terminating
One private OpenAI-compatible endpoint appears when an agent needs it, proves it can answer correctly, and vanishes on schedule.
# 3,600 free credits — no card, no wallet, one per caller curl -s -X POST https://genie.locker/api/credits/trial
Start free — 3,600 credits, no card, one per caller. One standardized engine; choose the duration, not an unproven model menu.
Read https://genie.locker/agent.md and buy the compute you need.
01 / the proven locker
The live product is deliberately narrow: Qwen2.5-7B-Instruct-AWQ in a 16 GB resident envelope. Pick how long it runs. Larger and custom models stay off the shelf until demand and delivery evidence earn them a place.
Longer commitments price better per minute — the table above is re-solved for each duration, so 30 and 120 minutes never quote the same rate. The first hour of the locker is free: 3,600 credits, no card, one per caller.
The hardware API still publishes market research. The commercial shelf shows only what can pass the full quote → hold → provision → quality → inference → reap lifecycle today.
02 / top 10 outcome packs
Genie wraps the trading, revenue, research, assurance, and private-compute systems we have already proven into ranked, repeatable jobs. Every pack carries its evidence stage: commercial can run now, benchmarked has measured workload proof, and designed waits for paid demand before we build the pilot.
A recipe is not commercial inventory unless its API stage is commercial.
Inspect the same registry at GET /api/recipes and the portfolio brief at
/recipes/top-10/README.md.
03 / the flow
The whole transaction, from a shell, in one pass.
DISCOVER
GET /api/lockers answers with a full x402 challenge. A crawler
learns the offer without anyone writing an integration.
QUOTE
GET /api/quote?envelope=l16&placement=resident&minutes=30 returns the price, the card
it lands on, and the throughput class. No commitment.
402
Fund prepaid credits with verified USDC on Base. Direct per-locker x402 remains fail-closed until payment and fulfillment are atomic.
SETTLE
Credits are held before provisioning and committed only after authenticated, coherent delivery. A failed boot releases the hold.
PROVISION
Only now do we spend. The measured public canary reached a usable endpoint in 142 seconds; faster claims are not substituted for that customer-path result.
SERVE
An HTTPS endpoint and a token. Never SSH, never the card — we sell what our engine produces, not the machine.
RECEIPT
An EIP-191 signature binding order, delivery and payment. Neither side can rewrite it afterwards.
REAP
The independent lifecycle reaper destroys the provider pod at expiry, and the watchdog reconciles anything that survives.
03 / the artifact
One premade container, same bytes every time. The interesting part is the deadline.
# armed before the model loads. if the broker # vanishes, the locker still stops paying for itself. ( now=$(date +%s) sleep $(( LOCKER_EXPIRES_AT - now > 0 ? \ LOCKER_EXPIRES_AT - now : 0 )) log "expiry reached, shutting down" beacon expired pkill -TERM -f locker_server.py || true sleep 5 kill -9 -1 2>/dev/null || true ) & log "deadline armed"
An endpoint, not a machine
HTTPS and a token minted for that locker alone. No SSH, no card handover — that boundary is what keeps this ordinary usage rather than resale.
Correct before billed
The endpoint must authenticate and return a coherent deterministic completion before held credits commit. Runtime parity alone is not treated as customer quality.
Failure is loud
Dying quietly after payment is the worst thing this can do. Every failure path beacons home; the boot script traps its own errors.
04 / independent check
An agent about to pay a stranger should ask someone else first. genie.locker is the first compute seller in InferenceView VERIFY — a daily census of the x402 economy that answers whether a payment should happen.
Calls VERIFY from your browser against https://genie.locker/api/lockers and prints whatever it says.
Observed evidence, not guarantees. A new seller reads as unestablished — it should.
05 / the shell
One line, no SDK. The raw endpoints are underneath it.
Read https://genie.locker/agent.md and buy the compute you need.
/agent.md covers the whole loop: generate a wallet locally, ask a human to fund it once with USDC on Base, then price, verify, pay and use a locker unattended within the cap they set. Because it is fetched rather than pasted, the procedure stays current without anyone re-copying it.
# price the proven private 7B locker for 30 min curl -s 'https://genie.locker/api/quote?envelope=l16&placement=resident&minutes=30' # the commercial shelf: live products only curl -s 'https://genie.locker/api/catalog' # what this seller is doing right now curl -s 'https://genie.locker/api/status'
# unpaid -> machine-readable offer; direct settlement is still closed curl -s -X POST https://genie.locker/api/lockers \ -H 'content-type: application/json' \ -d '{"envelope":"l16","placement":"resident","minutes":10}' # -> 402 { accepts:[{ amount, asset, payTo, network }] } # fund credits, order with Bearer key, receive job_id immediately # poll status_url -> { locker_id, endpoint, token, expires_at, receipt }
Prepaid credits · live
Agents can claim a trial or fund credits with verified USDC on Base, then order unattended.
Card packs · armed
One-time packs — $5, $20, $100 — add credits instantly and never expire. The checkout ships with the payment account; until then, humans use the form below and agents use credits.
Direct x402 is gated
The prepaid fill is armed. Direct one-shot x402 stays closed until settlement and delivery are one atomic lifecycle.
Connect a Base wallet
Connection reads the selected address and USDC balance only. It grants Genie no custody and no unlimited allowance.
Not connected.
Run until stopped or capped
Starts with 10 paid minutes, renews in five-minute credit quanta, and stops automatically at the declared maximum or when prepaid balance runs out.
curl -s -X POST https://genie.locker/api/lockers \ -H 'authorization: Bearer gk_...' \ -H 'idempotency-key: metered-session-1' \ -H 'content-type: application/json' \ -d '{"envelope":"l16","placement":"resident","billing_mode":"metered","renewal_minutes":5,"max_minutes":240}' # stop now; the watchdog tears the pod down curl -s -X POST https://genie.locker/api/lockers/gl_.../stop \ -H 'authorization: Bearer gk_...'
06 / credits
A credit is one GB-minute — 1 GB of model footprint held for 1 minute. A physical unit, so what it buys never moves with the market. Start with a free hour, top up when you need more, pay less the more you commit.
Free to start
3,600 credits — more than one hour of the live 16 GB resident locker. No wallet, no card, one per caller.
Never expires
Unused balance is refundable and does not decay. Credits buy service from us and are not transferable.
Held, not spent
Credits are reserved while a locker boots and only debited on delivery. A failed provision returns them.
The live resident engine burns 2.1 credits per GB-minute. Market prices still move, but the credit unit and delivery gate stay deterministic.
# 3,600 free credits, no wallet needed curl -s -X POST https://genie.locker/api/credits/trial # spend them curl -s -X POST https://genie.locker/api/lockers \ -H 'authorization: Bearer gk_...' \ -H 'idempotency-key: your-stable-order-id' \ -H 'content-type: application/json' \ -d '{"envelope":"l16","placement":"resident","minutes":10}' # top up (402 -> pay -> present the tx once) curl -s -X POST https://genie.locker/api/credits \ -d '{"usd":100}'
Run the proven 7B locker now, or tell us the larger model and workload you would pay for.