# Miden × Hyperliquid Trading Integration — Requirements Document
**Status:** Draft
**Owner:** Socket?
**Goal:** Enable Alice to trade on Hyperliquid directly from her private Miden account or multisig, with one click, while preserving privacy and ensuring smooth bridging and margin management.
---
# 1. Background & Motivation
Miden serves as a **private balance sheet** for users. High-volume or active users (like traders) want to keep their funds private while interacting with public trading venues on chains as **Hyperliquid**, **Solana**, **Base**, or **Ethereum**.
The first integration targets **Hyperliquid**, because:
- It is a high-throughput, crypto-native trading venue
- It offers **perpetual futures**, requiring margin management
- It benefits from fast, automated bridging flows
- It is an ideal fit for Miden’s **private custody → public execution** model
This document focuses exclusively on the Hyperliquid integration.
---
# 2. User Story: Alice
## As Alice, I want to:
1. **Hold funds privately** in a Miden account or multisig.
2. **Open trades on Hyperliquid with one click or one command.**
3. **For spot trades:** automatically bridge funds in and out.
4. **For perpetual trades:**
- Open a position
- Monitor my position (via Hyperliquid API queries)
- Add margin via a one-click bridge action
- Close the position and receive settlement back into Miden
5. **Remain private:**
- External observers cannot tell that Alice bridged to Hyperliquid or back.
- Bridge and Miden operator may see metadata; the public should not.
---
# 3. Core Flows
## 3.1 Spot Trading Flow
### User Interaction Example
```sh
miden trade spot --exchange hyperliquid --pair BTC-USDC --amount 1000
```
### Required Flow
1. **Balance Check:**
Query Alice’s private balance inside Miden.
2. **Bridge-Out:**
- Create a private-to-public outbound bridge transfer from Miden to Hyperliquid’s deposit endpoint.
- Ensure no leakage of Alice’s identity.
3. **Trade Execution:**
- Submit a spot trade order via Hyperliquid API.
- Receive execution confirmation.
4. **Bridge-In (Settlement):**
- After settlement, remaining assets must be bridged back into Miden.
- Funds return as **private notes**.
5. **Portfolio Update:**
- Alice sees updated balances inside her private Miden account.
---
## 3.2 Perpetual Futures Flow
### User Interaction Example
```sh
miden trade perp open --exchange hyperliquid --pair ETH-PERP --margin 2000 --leverage 5
```
### Required Flow
1. **Margin Bridge-Out:**
Transfer margin from Miden privately to Hyperliquid.
2. **Open Position:**
- Submit order to Hyperliquid.
- Retrieve position ID.
3. **Position Monitoring:**
Support two models:
- Direct API polling
- Optional “position oracle” run by Miden
4. **Add Margin:**
- Alice triggers “Add margin”
- Bridge-out additional funds privately
- Hyperliquid receives the top-up
5. **Close Position:**
- Client requests position close via Hyperliquid API
- Settlement completes
6. **Bridge-In Back to Miden:**
- Settlement funds are bridged back
- Converted into private notes
- Portfolio updates inside Miden
---
# 4. Privacy Requirements
## 4.1 Goals
- Public observers **must not** link bridge events to Alice.
- Miden addresses or private identifiers must **not** leak.
- Bridge operator may know; the world should not.
## 4.2 Minimum Technical Requirements
### Outbound Privacy
- Source is a private note.
- No direct exposure of Alice’s identity.
- Optionally support batching, relayers, or timing obfuscation.
### Inbound Privacy
- Returning funds must become private notes without linking to Hyperliquid deposits.
### Visibility Model
- Block explorer does **not** show “Alice bridged to Hyperliquid.”
- At most: “A private account bridged X assets.”
---
# 5. Functional Requirements
## FR-1: Client Command Interface
Unified API for the Miden client:
```sh
client.external_trade(chainId: 4, long, USD-ETH, )
```
## FR-2: Bridge Abstraction Layer
- Generic interface for bridge-out and bridge-in
- Must support future chains (Solana, Base, Ethereum)
## FR-3: Private Balance Verification
- Query private Miden balances
- Multi-asset support (USDC, ETH, etc.)
## FR-4: Trade Execution Engine
Handles Hyperliquid API operations:
- Spot order placement
- Perp order placement
- Position queries
- Margin adjustments
- Closing positions
## FR-5: Settlement Listener
- Detect settlement on Hyperliquid
- Trigger automatic bridge-in process
## FR-6: Privacy-Preserving Bridge
- Outbound and inbound bridging must not reveal Alice’s identity
- Compatible with stronger privacy upgrades later
---
# 6. Non-Functional Requirements
## NFR-1: Security
- API keys stored securely (encrypted local store or secure enclave)
- No private Miden data sent externally
## NFR-2: Performance
- Target: bridge-out < 10s (MVP), < 2s (future)
- Position monitoring refresh < 2s
## NFR-3: Compliance
- Architecture allows future:
- Provable compliance (e.g., Predicate)
- Allowlisting
- Transaction attestation
## NFR-4: Auditability
- Client logs bridging events, trades, and settlements locally
---
# 7. Open Questions
1. What Hyperliquid authentication model should be used?
- API keys, subaccounts, MPC signing?
2. Who operates the bridge?
- Miden, third-party, or relayer network?
3. Can bridging be made private even from the operator?
- Possible with relayers + ZK, may be long-term.
4. Fee model:
- Who pays gas / relayer fees?
- Deduct from Miden balance or require prepay?
---
# 8. Roadmap
## Phase 1: MVP
- One-click spot trades
- Basic bridge-out + bridge-in
- Open perps
- Manual margin top-up
- Basic position polling
## Phase 2: Improved UX
- Automated settlement tracking
- Live PnL dashboard
- One-click margin addition
- Privacy improvements (batching/relayers)
## Phase 3: Production
- Ultra-fast bridging
- Automated settlement flows
- Multi-chain support (Solana, Base, Ethereum)
- Compliance tooling
- Miden multisig integration
- Cross-exchange portfolio management
---
# 9. Acceptance Criteria
A feature is complete when:
- Alice can open a spot or perp trade with one click.
- Bridge-out and bridge-in work automatically.
- No public observer can link Alice to Hyperliquid transactions.
- Perp positions can be monitored and margin added.
- Closing positions returns funds to private Miden notes.
- UX is smooth and flows are logged.