MBMarket BenderSpecification system
05.01 · Responsibility matrix

Exact ownership and authority

Actor/serviceOwnsMay doMust not do
Privy userAuthenticated product identity/consentAuthorize master actions and direct controlsBypass policy or impersonate another wallet
Privy master walletAccount-level authority and fundsFund, transfer, withdraw, approve/revoke agent, account modesEnter model context
Hyperliquid agent walletSigner-specific nonce/action authority; no fundsAllowlisted registered trading actionsSensitive master-only actions; cross-account reuse
Signing serviceProtected signer access and audit boundarySign a verdict-bound requestInterpret strategy/free text or expose key material
Trading-tool serviceTool schema and orchestrationRead, validate, request execution and return structured resultsSign directly or skip risk
Risk kernelVersioned deterministic policyAccept/clamp/rejectHold credentials or submit exchange actions
Match serviceState revision, timer and effect authorizationAuthorize lock/snapshot/flatten/settlement sequenceMove funds directly or use client time
Settlement serviceFormula/decision/payout planCalculate and execute idempotent approved custody effectsChange wager commitments or frozen evidence
05.02 · Privy authentication

Privy DID is identity; wallet ownership is explicit data

Verify access tokens server-side, use the Privy DID as the user identity and resolve an explicit user-to-master-wallet record. The legacy statement “JWT sub equals wallet address” is superseded. Authorization checks bind user, session, wallet, account, match and action on every boundary.

05.03 · Agent lifecycle

Create fresh, register, monitor, rotate, revoke

  1. Authenticate the user and verify the intended master wallet/account/network.
  2. Create a fresh agent signer in the approved protected storage system; expose only an opaque signer reference.
  3. Use the master authorization path to register the agent with a purpose-specific name and expiration.
  4. Record master, agent address, network, account scope, process owner, policy version, registration transaction and expiry.
  5. Operate through one nonce writer; monitor registration/funding prerequisites.
  6. Rotate before expiry or compromise: pause, cancel/flatten as policy requires, register a new signer, reconcile, then revoke the old signer.
  7. Never reuse a deregistered agent address.
05.04 · Funding and wager custody

Trading funds and committed wager records must be traceable

The master path owns deposits, withdrawals and account transfers. The approved VS baseline additionally uses additive-layer wager custody/accounting, but the exact transfer/escrow path, legal entity, account segregation and administrative powers are an open implementation/legal decision. No real-money deployment proceeds until those records and specialist approval exist. Self mode never creates a wager commitment.

05.05 · Credential isolation

Deployment secrets are configuration, not a per-user key database

Cloudflare Secrets protect service credentials and wrapping keys. Per-user signer material requires an explicit encrypted storage design with key wrapping, authenticated access, separation of duties, rotation, deletion and audit events. The browser, static assets, model context, replay and logs contain only signer references/addresses.

05.06 · Logout, deletion and compromise

Safe lifecycle endings

Logout

Invalidate product session. State whether an active Self agent continues; default to policy-defined pause unless the user explicitly created a persistent session.

Account deletion

Stop sessions, reconcile, revoke agents, delete protected signer material, retain only legally required redacted audit records and provide withdrawal instructions.

Compromised key

Global/account pause, cancel/flatten, master revocation, fresh signer, nonce/event review, user notice and incident record.

Navigate specification

Search pages and sections