Skip to main content
POST /api/v1/lake/deposit
The operation type for signing is "deposit_to_lake". Use this endpoint to deposit USDC from an account into a vault. Deposits are idempotent when an idempotency_key is supplied.

Request Body

FieldTypeNeedDescriptionExample
”account”stringrequiredDepositor wallet address42trU9A5…
“signature”stringrequiredCryptographic signature5J3mBbAH…
“timestamp”integerrequiredCurrent timestamp in milliseconds1716200000000
”lake”stringrequiredVault addressAbCdEfGh123456789…
“amount”decimal stringrequiredDeposit amount in USDC1000.00
”idempotency_key”UUID stringoptionalClient-generated key to prevent duplicate deposits550e8400-e29b-41d4-a716-446655440000
”agent_wallet”stringoptionalAgent wallet address69trU9A5…
“expiry_window”integeroptionalSignature expiry in milliseconds30000
{
  "account": "42trU9A5...",
  "signature": "5J3mBbAH...",
  "timestamp": 1716200000000,
  "lake": "AbCdEfGh123456789...",
  "amount": "1000.00",
  "idempotency_key": "550e8400-e29b-41d4-a716-446655440000"
}

Response

  • Status 200: Deposit successful
{
  "success": true,
  "data": {
    "shares_minted": "1000.00"
  },
  "error": null,
  "code": null
}
FieldTypeDescription
'shares_minted'decimal stringNumber of vault shares minted to the depositor
  • Status 400: Invalid request parameters
  • Status 401: Unauthorized access
  • Status 409: Duplicate idempotency key
  • Status 500: Internal server error