Skip to main content
POST
Deposit into a vault

Authorizations

Authorization
string
header
required

A JWT signed using the developer's own JWT private key (in the case of JWT authentication), or an end user JWT signed by CDP, encoded in base64. This is used for End User Account APIs.

Headers

X-Wallet-Auth
string
required

A JWT signed using your Wallet Secret, encoded in base64. Refer to the Generate Wallet Token section of our Authentication docs for more details on how to generate your Wallet Token.

Path Parameters

userId
string
required

The ID of the end user.

Pattern: ^[a-zA-Z0-9-]{1,100}$
address
string
required

The 0x-prefixed address of the EVM account to deposit from. A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).

Required string length: 1 - 128
Pattern: ^0x[0-9a-fA-F]{40}$
Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

Query Parameters

projectID
string

The ID of the CDP Project. Required for end users authenticated using custom auth (i.e. a non-CDP JWT provider).

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
Example:

"8e03978e-40d5-43e8-bc93-6894a57f9324"

Body

application/json

A request to deposit the vault's underlying asset (e.g. USDC) into a vault from an end user's EVM account (EOA). The end user signs an EIP-2612 permit authorizing the deposit, and the token approval and deposit are executed in a single transaction.

vaultId
string
required

The globally unique ID of the vault, which is a UUID prefixed with the string vault_.

Pattern: ^vault_[a-f0-9-]{36}$
Example:

"vault_019f5f10-096a-7a23-86df-f479650d813f"

amount
string
required

The amount of the vault's underlying asset to deposit, as a decimal string in standard unit denomination of the asset (i.e. "25.50" for 25.50 USDC).

Pattern: ^\+?(?:(?:0*[1-9]\d*)(?:\.\d*)?|0*\.\d*[1-9]\d*)$
Example:

"25.50"

receiver
string

The 0x-prefixed address that receives the minted vault shares. Defaults to the depositing account given in the path.

Required string length: 1 - 128
Pattern: ^0x[0-9a-fA-F]{40}$
Example:

"0x1234567890123456789012345678901234567890"

walletSecretId
string

The ID of the Temporary Wallet Secret that was used to sign the X-Wallet-Auth Header.

Pattern: ^[a-zA-Z0-9-]{1,100}$
Example:

"e051beeb-7163-4527-a5b6-35e301529ff2"

maxSlippageBps
integer

The maximum share-price movement tolerated between calldata construction and onchain execution, in basis points. The deposit reverts if the vault's share price moves beyond this bound. A guard of 100 bps (i.e. 1%) is applied when omitted.

Required range: 0 <= x <= 9999
Example:

100

Response

Successfully broadcast the deposit.

The result of a vault deposit from an EOA after broadcast.

transactionHash
string
required

The hash of the broadcast deposit transaction, as a 0x-prefixed hex string.

Pattern: ^0x[0-9a-fA-F]{64}$
Example:

"0xf8f98fb6726fc936f24b2007df5cb20e2b8444ff3dfaa2a929335f432a9be2e7"