GET /api/v1/capacity) or trustlessly on-chain (RobinLens.checkBatchDepositCapacity).
Capacity is global (vault-wide), not per-market. A deposit is a batch
across markets, so always check the whole batch together — two batches
that each fit on their own can exceed capacity when combined.
The two tiers
A deposit pairs opposing YES/NO tokens, merges each pair to USDC, and supplies that USDC to the external yield (ERC-4626) vault. Capacity is enforced at two points along that pipeline.Tier 1 is a conservative guard against a large, unbalanced deposit that
could later need more USDC than the vault can hold. Tier 2 is the hard limit
— paired USDC must fit the external vault’s current
maxDeposit. For a
balanced (fully-matched) deposit, tier 2 is the binding constraint; a very
one-sided deposit can hit tier 1 first.Check via the API
GET /api/v1/capacity returns the global headroom and, when you pass a prospective batch, whether it fits. No wallet needed.
remainingUsdc already accounts for which tiers are active (a disabled
internal guard simply drops out), so it’s the single number to gate a UI on.Read it on-chain
For a trustless pre-flight, callRobinLens.checkBatchDepositCapacity — it simulates both tiers for a prospective batch and returns a single bool. GET /capacity runs the same simulation, but additionally honors the internal-guard flag (the raw on-chain view does not — see the warning below).
type(uint256).max = uncapped):
Next steps
Deposits
Build the deposit batch once capacity confirms it fits.
Reading on-chain state
The rest of the
RobinLens read surface.