For your own consumer node: open escrow, close, unused back now, used locked until the next UTC day. On-chain protocol staking — not the API Gateway credit model.
Walkthrough
1. MOR starts in your wallet.
2. You open a session. That MOR is escrowed in the Inference Contract for the session length (set from stake and price).
3. While open, the session is active — stake is reserved for inference.
4. Someone submits close (your node after the end time, or you via API). Timing does not change the rules below — early, on-time, or a bit late is still just close.
5–6. On close, stake splits two ways:
7–8. After the lock lifts, claim the used slice (app withdraw flow, or withdrawUserStakes). It does not auto-return. Plan float for gross daily stake — used MOR cannot open another session the same UTC day.
The clock hitting zero does not close by itself; a close transaction still has to land. If it never does, stake stays active until it does. Funding / gas issues below.
Enter your consumer address to see an on-chain snapshot on Base: the same three places as the diagram — in your wallet, active in the Inference Contract (open sessions), and on hold in the Inference Contract (used-stipend day-lock queue). Uses a small sample of your newest sessions so the page stays fast; use Scanner technical details for the full breakdown. If the default RPC fails in your browser, paste another Base HTTPS endpoint.
Rough check only. The Snapshot cards below are the three buckets; the large total is their sum for this scan.
Spendable MOR in your address.
Stake in sessions that are still open on-chain (not closed yet).
Close is one blockchain transaction. It needs gas and a solvent protocol funding wallet (separate from yours) to pay the provider. If funding or approval is short, the whole close fails and your stake stays in an active session until a close succeeds.