

Your capital
Get maker capital reads the maker vault exactly as the contract sees it. All amounts are atomic USDC.
Re-read capital on every
MAKER_CAPITAL_UPDATED on the maker channel.
How each step moves it
The profit fee comes out of the taker’s winnings, not your vault. The entry fee comes out of the
taker’s stake before it reaches you. Rates are on Limits.
When collateral is checked
Creating a quote reserves nothing. Your capacity is checked when you confirm a fill, againstfree_collateral less every fill not yet on-chain. If several of your quotes are accepted at once,
a later confirm can fail with QUOTE_CAPACITY_EXCEEDED. The contract checks again when the trade
lands. Quote only what free_after_pending covers.
Reduce collateral
A reduction looks at every open position you back, finds the most your book can lose under any way the markets can resolve, and certifies the difference as yourdiscount. You submit that
certificate on-chain from a wallet that pays the gas. Totalis does not run reductions for you, and
it does not pay their gas.
1
Start a job
Create collateral reduction.
It takes no body. You get a
job_id and next_eligible_at, the earliest time a new discount
can land.2
Wait for the certificate
Follow
COLLATERAL_REDUCTION_UPDATED on the maker channel, or poll
Get collateral reduction, until
status is DURABLE. The job then holds a transaction: to, data, value and chain_id
for one call to the vault.3
Sign and submit it
Sign that call as an EIP-1559 transaction from any wallet that holds HYPE for gas. Send it to
Submit self-funded transaction
with the job’s
operation_id and the same Idempotency-Key that created the job, before the
job’s expiry. Totalis checks the transaction matches the job and broadcasts it. It never holds
that wallet’s key or picks its nonce.4
Collect the headroom
When the transaction lands,
MAKER_CAPITAL_UPDATED follows. discount is higher,
requirement lower, and free_collateral higher by the same amount. No funds move: the freed
USDC stays in your maker vault, ready to back fills or be withdrawn.- One job runs per maker at a time. Creating another while one is open returns the open one.
- A new discount only ever raises the old one. It never undoes a larger discount still in force.
- New fills do not use the discount, and closing positions use it up. Run a reduction again after
your book grows. The TypeScript SDK’s
reduceCollateralruns all four steps. COLLATERAL_REDUCTION_UNAVAILABLEmeans reductions are switched off for this vault right now. Retry later.
What nets
The reduction treats these positions as linked, and every other pair as independent:
Treating two markets as independent can only overstate your worst case, never understate it. The
certificate never lowers your requirement below what your book can actually lose.
Undo a discount
Your wallet can callresetDiscount on the vault at any time. It sets discount to zero, so every
open position locks in full again. It can only raise your requirement, never lower it.
Move maker funds
Your wallet calls the vault directly and pays the gas in HYPE. Totalis does not relay these.
The SDK’s
maker.controller() builds each call for your wallet to
send.
