Skip to content

GET /v1/capacity

What is buyable right now and at what posted prices. GET /v1/models says what is callable; capacity says what is fundable. No authentication, no supplier identity.

bash
curl "https://api.pzero.studio/v1/capacity"
json
{
  "generatedAt": "2026-07-28T15:00:00Z",
  "routableDiem": "1240.000000",
  "usdcToBuyAll": "545.600000",
  "cheapestPostedCents": 38,
  "prices": [
    { "priceCentsPerDollar": 38, "routableDiem": "300.000000", "usdcToBuyAll": "114.000000" },
    { "priceCentsPerDollar": 45, "routableDiem": "940.000000", "usdcToBuyAll": "423.000000" }
  ],
  "modalities": {
    "text": { "available": true, "liveModels": 24 },
    "image": { "available": true, "liveModels": 3 },
    "video": { "available": false, "liveModels": 0 }
  }
}

prices is cheapest posted ask first. usdcToBuyAll is what clearing that whole row costs at its posted price.

Filter to your max price

bash
curl "https://api.pzero.studio/v1/capacity?maxPriceCents=45"

Omit the parameter to see the full 30–80 corridor. With a filter, the ladder narrows to prices at or below that ask and restates the totals for that slice. The same view the router has when it selects for a buyer with that max price. Values outside 30–80 are 400: nothing is clamped into range, because a silently corrected max would return depth you never asked about.

With or without a filter, when nothing is eligible, prices is [], the totals are 0.000000 and cheapestPostedCents is null. That is an answer, not an error. Raise your max or wait for supply.

What the numbers mean

Depth comes from the same eligibility rule the router selects on, so capacity cannot advertise supply the router would then refuse.

modalities reports whether the catalog is priced for that modality and how many live models it has. DIEM itself is model-agnostic (supply is not posted per modality), so there is no per-modality depth to report.

The response is cached for 30 seconds, so totals can lag posted changes by that long. Treat it as a pre-flight check, not a reservation: another buyer can clear the same offer first.

Call with ?maxPriceCents= matching your account ceiling before using usdcToBuyAll to size a POST /v1/x402/refill. It is what buying that depth would cost at today's posted asks.

Use cheapestPostedCents against your maxPriceCentsPerDollar. If cheapestPostedCents is above your ceiling (or your filtered ladder is empty), inference answers 503 no_eligible_supply until you raise it.

Next

PZERO Your AI Studio. Top up. Do your thing. Repeat.