---
title: "Get user"
method: GET
path: "/api/v1/users/{address}/user"
tags: ["User"]
---

# Get user

`GET /api/v1/users/{address}/user`

## Path parameters

- `address` string, required — The user account address

## Query parameters

- `with_text` boolean — Include text variation fields
- `with_value` boolean — Calculate and include USD values for amounts, where applicable
- `with_percent` boolean — Calculate and include proportional percentages, where applicable

## Response `200`

- object
  - `data` User, required
    - `markets` UserMarket, required
      - `borrow` UserBorrowMarket, required
        - `accounts` UserBorrowMarketAccount[], required — Market sub-accounts for the user
          - `index` integer, required — Account index
          - `collaterals` UserCollateralAssetPool[], required — Account collateral allocations
            - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
              - …
            - `amount` string, required — Amount of this asset which is actively collateralized
            - `extra` object, required
              - …
          - `debts` UserDebtAssetPool[], required — Account debt allocations
            - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
              - …
            - `principal` string, required — Initial amount borrowed (of debts which have not yet been repaid)
            - `interest` string, required — Sum of accrued interest for open debt position
            - `debt` string, required — Sum open debt amount (this is simply the principal + interest)
            - `extra` object, required
              - …
          - `health` UserAccountHealth, required
            - `base` string, required — Account health value, before any added health boosts
            - `boost` string, required — Account health boost to be applied
            - `result` string, required — Account health, with boost
            - `extra` object, required
              - …
        - `totals` UserBorrowMarketPools, required
          - `collaterals` UserCollateralAssetPool[], required — Account collateral allocations
            - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
              - …
            - `amount` string, required — Amount of this asset which is actively collateralized
            - `extra` object, required
              - …
          - `debts` UserDebtAssetPool[], required — Account debt allocations
            - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
              - …
            - `principal` string, required — Initial amount borrowed (of debts which have not yet been repaid)
            - `interest` string, required — Sum of accrued interest for open debt position
            - `debt` string, required — Sum open debt amount (this is simply the principal + interest)
            - `extra` object, required
              - …
      - `lend` UserLendMarket, required
        - `asset_pools` UserDebtAssetPool[], required — User lending allocations
          - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
            - `asset` AssetSpec, required — Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)
              - …
            - `metadata` AssetMetadata, required — Additional metadata for assets
              - …
            - `classification` union, required — The asset's classification metadata. Assets are classfied to provide context on their usage throughout the Neptune API (e.g. regular assets, neptune receipt tokens, LSTs, etc.) Each asset belongs to only a single classification type. This object contains metadata pertaining to the given classification. While some fields may be common among the distinct classifcations, each classification is distinct and subject to independent change.
              - …
          - `principal` string, required — Initial amount borrowed (of debts which have not yet been repaid)
          - `interest` string, required — Sum of accrued interest for open debt position
          - `debt` string, required — Sum open debt amount (this is simply the principal + interest)
          - `extra` object, required
            - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
              - …
            - `value` object, nullable, required — USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`.
              - …
    - `wallets` UserWalletPortfolio, required
      - `balances` WalletBalance[], required — Array of each wallet balance
        - `asset` AssetSpec, required — Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)
          - `id` string, required
          - `group` union, required
            - 'native'
            - 'token'
          - `group_key` string, required
        - `values` union, required
          - object
            - `kind` 'known', required
            - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
              - …
            - `amount` string, required — Wallet balance in native denom.
            - `amount_scaled` string, required — Amount scaled to the asset's standard unit / decimal places.
            - `extra` object, required
              - …
          - object
            - `kind` 'unknown', required
            - `amount` string, required — Wallet balance in native denom.
      - `total_value` string, nullable, required — Sum value in USD. Guaranteed null if value calculation is disabled / guaranteed non-null if calculation is enabled. **NOTE:** this only accounts for assets which are internally known & tracked. See the `/assets` endpoint for a list of supported assets.
      - `extra` object, required
        - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
          - `total_value` string, required
    - `nept` UserNeptOverview, required
      - `staking` UserStake, required
        - `asset_info` AssetInfo, required — Asset identifiers with associated metadata
          - `asset` AssetSpec, required — Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc)
            - `id` string, required
            - `group` union, required
              - …
            - `group_key` string, required
          - `metadata` AssetMetadata, required — Additional metadata for assets
            - `name` string, required — Full name of the asset
            - `symbol` string, required — Symbol of the asset, e.g.: `NEPT` `INJ`
            - `symbol_denom` string, required — Denom symbol for the asset (e.g. `inj` for `INJ`, `sat` for `BTC`)
            - `decimals_denom` integer, required — Denom exponent, or num. of decimal places that shift between denom/standard amounts (e.g. `18` for `INJ`)
            - `decimals_display` integer, required — Number of decimals used when displaying amounts of this asset (this is subjective and used for generating text representations)
          - `classification` union, required — The asset's classification metadata. Assets are classfied to provide context on their usage throughout the Neptune API (e.g. regular assets, neptune receipt tokens, LSTs, etc.) Each asset belongs to only a single classification type. This object contains metadata pertaining to the given classification. While some fields may be common among the distinct classifcations, each classification is distinct and subject to independent change.
            - object
              - …
            - object
              - …
            - object
              - …
        - `bonding_sum` string, required — Total staked of all entries across all listed pools **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index)
        - `pools` UserStakePool[], required — User allocations for each staking pool
          - `common` StakingPoolFull, required — Merges `StakingPool` with both `StakingPoolWithParams` and `StakingPoolState`
            - `index` integer, required — The ordered index (position) of this pool
            - `duration` integer, required — The lockup duration for this pool in seconds
            - `extra` object, required
              - …
            - `params` StakingPoolParams, required
              - …
            - `state` StakingPoolState, required
              - …
          - `amount_sum` string, required — Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index)
          - `contents` UserStakeBondingEntry[], required — Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation
            - `account_index` integer, required — User account index
            - `amount` string, required — Bonding amount
            - `cascade` boolean, required
            - `transition_at` string, date-time, nullable, required
            - `last_stake_acc` string, required
            - `extra` object, required
              - …
          - `extra` object, required
            - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
              - …
            - `value` object, nullable, required — USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`.
              - …
        - `unbonding` UserStakeUnbonding, required
          - `amount_sum` string, required — Total amount of all unbond entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index)
          - `contents` UserStakeUnbondingEntry[], required — Unbonding/unstake entries **NOTE:** cascade unbondings from pool >= 2 are contained in the bondings list of the lower adjacent pool from which the unbond occurred.
            - `amount` string, required — Unbonding amount
            - `unlock_at` string, date-time, required — Timestamp for when the unstake can be redeemed
            - `extra` object, required
              - …
          - `extra` object, required
            - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
              - …
            - `value` object, nullable, required — USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`.
              - …
        - `unclaimed` string, required
        - `claimable_rewards` string, required — NEPT rewarded from staking that is available yet not claimed by the user
        - `claimable_unbonding` string, required — Sum of all unbond/unstake amounts that have completed their lockup period and are ready to be claimed.
        - `extra` object, required
          - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
            - `claimable_unbonding` string, required
            - `unclaimed` string, required
            - `bonding_sum` string, required
            - `claimable_rewards` string, required
          - `value` object, nullable, required — USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`.
            - `bonding_sum` string, required
            - `claimable_unbonding` string, required
            - `unclaimed` string, required
            - `claimable_rewards` string, required
            - `extra` object, required
              - …
      - `unlocks` UserNeptUnlockOverview, required
        - `arrangements` UserNeptUnlockArrangement[], required — -- A list of the user's active unlock arrangements
          - `begins_at` string, date-time, required — The time at which the unlock begins
          - `schedule` union, required
            - object
              - …
            - object
              - …
          - `last_claimed_at` string, date-time, nullable, required — The time at which the unlock was last claimed, if any
          - `expires_at` string, date-time, nullable, required — The time at which the unlock expires, if any
          - `admin` UserNeptUnlockArrangementAdmin, required
            - `address` string, required — The address of the unlock arrangement's admin
            - `issued_reclaim` boolean, required — True if the admin his issued a reclaim on the unlock arrangement
          - `extra` object, required
            - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
              - …
          - `amounts` UserNeptUnlockAmounts, required
            - `amount` string, required — The full unlock amount. This value is immutable and does not change with regards to expiry/reclamation/lock states.
            - `claimed` string, required — The amount that has already been successfully claimed by the user.
            - `claimable` string, required — The amount currently claimable. This takes into account: reclamation, lock state, expiry, and previously claimed. In other words, this is an accurate representation of what the user can currently claim.
            - `locked` string, required — The total amount of NEPT currently awaiting unlock **NOTE:** any reclaimed unlocks are excluded from the total, regardless of how much the user had claimed prior to reclamation.
            - `expired` string, required — The amount that was claimable but has now expired due to the presence and subsequent passing of `expires_at`.
            - `reclaimed` string, required — The amount that has been reclaimed from the unlock arrangement admin
            - `extra` object, required
              - …
        - `totals` UserNeptUnlockAmounts, required
          - `amount` string, required — The full unlock amount. This value is immutable and does not change with regards to expiry/reclamation/lock states.
          - `claimed` string, required — The amount that has already been successfully claimed by the user.
          - `claimable` string, required — The amount currently claimable. This takes into account: reclamation, lock state, expiry, and previously claimed. In other words, this is an accurate representation of what the user can currently claim.
          - `locked` string, required — The total amount of NEPT currently awaiting unlock **NOTE:** any reclaimed unlocks are excluded from the total, regardless of how much the user had claimed prior to reclamation.
          - `expired` string, required — The amount that was claimable but has now expired due to the presence and subsequent passing of `expires_at`.
          - `reclaimed` string, required — The amount that has been reclaimed from the unlock arrangement admin
          - `extra` object, required
            - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
              - …
            - `percent` object, nullable, required — Percentages for unlock amounts. Will not be null when query param `with_percent` is `true`.
              - …
            - `value` object, nullable, required — USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`.
              - …
        - `last_claimed_at` string, date-time, nullable, required — The time at which the most recent unlock claim occurred, if any
        - `extra` object, required
          - `text` object, nullable, required — Human-readable field variants. Will not be null when query param `with_text` is `true`.
            - `last_claimed_at` string, required
  - `error` ErrorData, required
    - `scope` union, required
      - 'user'
      - 'client'
      - 'server'
    - `kind` union, required
      - 'invalid_request'
      - 'validation'
      - 'entity_not_found'
      - 'contract'
      - 'internal'
    - `message` string, required — Error message
    - `fields` FieldValidationError[], nullable, required — List of names and error messages for invalid fields. Never NULL when `error.kind == 'validation'`. Always NULL for all other cases.
      - `field` string, required
      - `message` string, required
  - `status` integer, required — Request status
  - `status_text` string, required — Request status text

## Changes

- **2026-03-01** `9048b9a34641` — 20 breaking, 180 info
  - the response property `data/anyOf[#/components/schemas/User]/wallets/allOf[#/components/schemas/UserWalletPortfolio]/total_value` became nullable for the status `200`
  - added `subschema #1: Invalid request, subschema #2: Validation error, subschema #3: Requested entity not found, subschema #4: Contract error, subschema #5: Internal server error` to the `error/anyOf[#/components/schemas/ErrorData]/kind/allOf[#/components/schemas/ErrorKind]/` response property `oneOf` list for the response status `200`
  - added `subschema #1: Native token, subschema #2: CW20 token` to the `data/anyOf[#/components/schemas/User]/markets/allOf[#/components/schemas/UserMarket]/borrow/allOf[#/components/schemas/UserBorrowMarket]/accounts/items/collaterals/items/asset_info/allOf[#/components/schemas/AssetInfo]/asset/allOf[#/components/schemas/AssetSpec]/group` response property `oneOf` list for the response status `200`
  - added `subschema #1: Native token, subschema #2: CW20 token` to the `data/anyOf[#/components/schemas/User]/markets/allOf[#/components/schemas/UserMarket]/borrow/allOf[#/components/schemas/UserBorrowMarket]/accounts/items/debts/items/asset_info/allOf[#/components/schemas/AssetInfo]/asset/allOf[#/components/schemas/AssetSpec]/group` response property `oneOf` list for the response status `200`
  - …196 more
- …earlier changes not shown

[Full history](https://skmtc.dev/cryptechdev/apis/neptune-api-v2/changes/api/v1/users/:address/user/get.md)

---

[API](https://skmtc.dev/cryptechdev/apis/neptune-api-v2.md) · [All operations](https://skmtc.dev/cryptechdev/apis/neptune-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cryptechdev/neptune-api-v2/revisions/9048b9a34641/schema)
