✍️User history

User Deposits

List a user's deposit history across all vaults.

List User Deposits

GET /defi-vaults/v1/defi/user/:userAddress/deposits

Headers

Header
Required
Description

X-JOIN-KEY

Yes

Your API key

Path Parameters

Parameter
Description

userAddress

User wallet address (checksummed or lowercase)

Query Parameters

Parameter
Required
Default
Description

limit

No

50

Max deposits to return (max 100)

offset

No

0

Number of deposits to skip

status

No

all

Filter by status: pending, claimable, or completed

vaultAddress

No

all

Filter by vault contract address

Response

{
  "userAddress": "0x1234...",
  "totalRecords": 1,
  "hasMore": false,
  "deposits": [
    {
      "depositId": "0x6b6124c1...",
      "vaultAddress": "0xef368456a942f098241de16f8a695160ef23eb27",
      "vaultName": "Demo Vault USD",
      "userAddress": "0x1234...",
      "chainId": 1,
      "status": "pending",
      "statusDescription": "Deposit request submitted, awaiting curator settlement",
      "amounts": {
        "depositedAssets": "2000000",
        "pendingDeposit": "2000000",
        "claimableShares": "0",
        "currentShares": "0"
      },
      "vault": {
        "apy": "4.80",
        "assetSymbol": "USDC",
        "assetDecimals": 6,
        "sharePrice": "1800001000000"
      },
      "epochId": 21,
      "timestamp": "2026-02-14T15:37:47.000Z",
      "transactionHash": "0x6b6124c1..."
    }
  ]
}

Response Fields

Field
Type
Description

userAddress

string

Queried user address

totalRecords

number

Total number of deposits matching the filters

hasMore

boolean

Whether more deposits exist beyond the current page

deposits

UserDepositEntry[]

List of deposits sorted by timestamp (newest first)

Deposit Entry Fields

Field
Type
Description

depositId

string

Transaction hash of the deposit request

vaultAddress

string

Vault contract address

vaultName

string

Vault display name

userAddress

string

User wallet address

chainId

number

Chain where the vault is deployed

status

string

Deposit status (see below)

statusDescription

string

Human-readable status description

amounts

object

Deposit amounts (see below)

vault

object

Vault metadata (see below)

epochId

number

Settlement epoch ID for this deposit

timestamp

string

ISO 8601 timestamp of the deposit request

transactionHash

string

On-chain transaction hash

Amounts Fields

Field
Type
Description

depositedAssets

string

Original deposit amount from this transaction (smallest unit)

pendingDeposit

string

If status is pending: same as depositedAssets. Otherwise "0"

claimableShares

string

Aggregate claimable shares on this vault via maxMint (smallest unit)

currentShares

string

Aggregate shares in user's wallet on this vault via balanceOf (smallest unit)

Vault Fields

Field
Type
Description

apy

string

Current annualized yield (%)

assetSymbol

string

Underlying asset symbol (e.g. "USDC")

assetDecimals

number

Underlying asset decimals (e.g. 6 for USDC)

sharePrice

string

Price of 1 share in asset units (smallest unit)

Status Values

Status
Description

pending

Deposit request submitted, awaiting curator settlement

claimable

Curator has settled the epoch -- shares are ready to claim via mint()

completed

Shares have been claimed and are in the wallet

Status Flow

Notes

  • All amounts are in the smallest unit of the underlying asset (e.g. 6 decimals for USDC: "1000000" = 1 USDC).

  • Pagination is global across all vaults. totalRecords reflects the total after applying filters.

  • Filters can be combined (e.g. ?status=completed&vaultAddress=0x...).

Errors

Status
Error
Description

400

Missing or invalid userAddress

Address not provided or not valid

400

Invalid status filter

Status not one of: pending, claimable, completed

400

Invalid vaultAddress filter

Address not valid

401

Unauthorized: Missing client ID

No API key provided

404

No vaults configured for this client

Client has no vaults

Last updated