"create_lake".
This endpoint creates a new vault and returns its generated account address. The API path uses lake, but this feature is referred to as vaults in user-facing docs.
manager_loss_share is currently disabled; omit it or pass "0".
Request Body
| Field | Type | Need | Description | Example |
|---|---|---|---|---|
”account” | string | required | Creator wallet address | 42trU9A5… |
“signature” | string | required | Signature over the sorted request payload | 5J3mBbAH… |
“timestamp” | integer | required | Current timestamp in milliseconds | 1716200000000 |
”manager” | string | optional | Manager address. Omit to create a fresh vault with no manager. | 8zFqj1Kp… |
“nickname” | string | optional | Display name for the vault | BTC Basis Vault |
”deposit_cap” | decimal string | optional | Maximum LP balance accepted by the vault | 1000000 |
”manager_profit_share” | decimal string | optional | Performance fee fraction in [0,1] | 0.20 |
”manager_loss_share” | decimal string | optional | Temporarily disabled; only “0” is accepted | 0 |
”deposit_min_duration_ms” | integer | optional | Minimum deposit lock duration in milliseconds | 86400000 |
”manager_min_balance_portion” | decimal string | optional | Manager balance ratio required to claim or re-enable the vault | 0.10 |
”manager_liquidation_balance_portion” | decimal string | optional | Manager balance ratio that triggers trading halt and liquidation | 0.05 |
”initial_deposit” | decimal string | optional | Seed deposit from the creator in the same request | 1000.00 |
”withdraw_window_s” | integer | optional | Withdrawal cycle period in seconds | 2592000 |
”withdraw_duration_s” | integer | optional | Open withdrawal time per cycle in seconds | 259200 |
”referral_code” | string | optional | Referral code to claim for the new vault | testcode |
”initial_deposit_address_whitelist” | string array or null | optional | Initial deposit-address whitelist. Empty or omitted = no restriction (anyone can deposit). | [“42trU9A5…”] |
“agent_wallet” | string | optional | Agent wallet address | 69trU9A5… |
“expiry_window” | integer | optional | Signature expiry in milliseconds | 30000 |
Response
- Status 200: Vault created successfully
| Field | Type | Description |
|---|---|---|
'lake_address' | string | Generated vault account address |
'referral_claimed' | boolean | Whether the optional referral code was claimed successfully |
- Status 400: Invalid request parameters
- Status 401: Unauthorized access
- Status 500: Internal server error