Skip to main content
POST /api/v1/lake/create
The operation type for signing is "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

FieldTypeNeedDescriptionExample
”account”stringrequiredCreator wallet address42trU9A5…
“signature”stringrequiredSignature over the sorted request payload5J3mBbAH…
“timestamp”integerrequiredCurrent timestamp in milliseconds1716200000000
”manager”stringoptionalManager address. Omit to create a fresh vault with no manager.8zFqj1Kp…
“nickname”stringoptionalDisplay name for the vaultBTC Basis Vault
”deposit_cap”decimal stringoptionalMaximum LP balance accepted by the vault1000000
”manager_profit_share”decimal stringoptionalPerformance fee fraction in [0,1]0.20
”manager_loss_share”decimal stringoptionalTemporarily disabled; only “0” is accepted0
”deposit_min_duration_ms”integeroptionalMinimum deposit lock duration in milliseconds86400000
”manager_min_balance_portion”decimal stringoptionalManager balance ratio required to claim or re-enable the vault0.10
”manager_liquidation_balance_portion”decimal stringoptionalManager balance ratio that triggers trading halt and liquidation0.05
”initial_deposit”decimal stringoptionalSeed deposit from the creator in the same request1000.00
”withdraw_window_s”integeroptionalWithdrawal cycle period in seconds2592000
”withdraw_duration_s”integeroptionalOpen withdrawal time per cycle in seconds259200
”referral_code”stringoptionalReferral code to claim for the new vaulttestcode
”initial_deposit_address_whitelist”string array or nulloptionalInitial deposit-address whitelist. Empty or omitted = no restriction (anyone can deposit).[“42trU9A5…”]
“agent_wallet”stringoptionalAgent wallet address69trU9A5…
“expiry_window”integeroptionalSignature expiry in milliseconds30000
{
  "account": "42trU9A5...",
  "signature": "5J3mBbAH...",
  "timestamp": 1716200000000,
  "nickname": "BTC Basis Vault",
  "manager_profit_share": "0.20",
  "deposit_cap": "1000000",
  "deposit_min_duration_ms": 86400000,
  "manager_min_balance_portion": "0.10",
  "manager_liquidation_balance_portion": "0.05",
  "initial_deposit": "1000.00",
  "withdraw_window_s": 2592000,
  "withdraw_duration_s": 259200,
  "referral_code": "testcode",
  "expiry_window": 30000
}

Response

  • Status 200: Vault created successfully
{
  "success": true,
  "data": {
    "lake_address": "AbCdEfGh123456789...",
    "referral_claimed": true
  },
  "error": null,
  "code": null
}
FieldTypeDescription
'lake_address'stringGenerated vault account address
'referral_claimed'booleanWhether the optional referral code was claimed successfully
  • Status 400: Invalid request parameters
  • Status 401: Unauthorized access
  • Status 500: Internal server error