# Nept ## Get user NEPT unlocks `user.nept.get_unlocks(straddress, NeptGetUnlocksParams**kwargs) -> NeptGetUnlocksResponse` **get** `/api/v1/users/{address}/nept/unlocks` Get user NEPT unlocks ### Parameters - `address: str` The user account address - `with_percent: Optional[bool]` Calculate and include proportional percentages, where applicable - `with_text: Optional[bool]` Include text variation fields - `with_value: Optional[bool]` Calculate and include USD values for amounts, where applicable ### Returns - `class NeptGetUnlocksResponse: …` - `data: UserUnlockOverview` - `arrangements: List[Arrangement]` A list of the user's active unlock arrangements - `admin: Optional[ArrangementAdmin]` The admin of the unlock, if any - `address: str` The address of the unlock arrangement's admin - `issued_reclaim: bool` True if the admin his issued a reclaim on the unlock arrangement - `amounts: UserUnlockAmounts` Primary unlock amount and other pre-calculated/derived amounts - `amount: str` The full unlock amount This value is immutable and does not change with regards to expiry/reclamation/lock states. - `claimable: str` 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. - `claimed: str` The amount that has already been successfully claimed by the user. - `expired: str` The amount that was claimable but has now expired due to the presence and subsequent passing of `expires_at` - `extra: Extra` - `percent: Optional[ExtraPercent]` Percentages for unlock amounts. These do not factor in the `amount_staked` or `amount_held` values. Will not be null when query param `with_percent` is `true`. - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraPercentExtra` - `text: Optional[ExtraPercentExtraText]` Human-readable variants of percentages for unlock amounts. Will not be null when query params `with_text` and `with_percent` are `true`. - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `locked: str` - `reclaimed: str` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `price: str` Text representation of price - `reclaimed: str` - `locked: str` - `price: str` Price used in value calculations - `reclaimed: str` - `locked: str` 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. - `reclaimed: str` The amount that has been reclaimed from the unlock arrangement admin - `begins_at: datetime` The time at which the unlock begins - `expires_at: Optional[datetime]` The time at which the unlock expires, if any - `extra: ArrangementExtra` - `text: Optional[ArrangementExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `begins_at: str` - `expires_at: str` - `last_claimed_at: str` - `last_claimed_at: Optional[datetime]` The time at which the unlock was last claimed, if any - `schedule: UserUnlockSchedule` The schedule of the unlock - `class UserUnlockScheduleLinear: …` - `duration: int` The duration of the unlock in seconds - `ends_at: datetime` The time at which the unlock has/was/would've completed. This is identical to `begins_at + duration`. This timestamp will remain valid even if the unlock has been reclaimed. Therefore, it should not be used as a validity check. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `ends_at: str` - `kind: Literal["linear"]` - `"linear"` - `class UserUnlockScheduleLumpSum: …` - `kind: Literal["lump_sum"]` - `"lump_sum"` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `last_claimed_at: str` - `last_claimed_at: Optional[datetime]` The time at which the most recent unlock claim occurred, if any - `totals: UserUnlockAmounts` Contains pre-calculated total amounts for all unlock agreements - `error: None` Error data. Guaranteed `null` for successful response. - `status: int` HTTP status. Successful responses are guaranteed to be < `400`. Conversely, error responses are guaranteed to be >= `400`. - `status_text: str` HTTP status text ### Example ```python from neptune_api_v2 import NeptuneAPIV2 client = NeptuneAPIV2() response = client.user.nept.get_unlocks( address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0", ) print(response.data) ``` #### Response ```json { "data": { "arrangements": [ { "begins_at": "2026-07-22T08:40:54Z", "schedule": { "kind": "linear", "duration": 1692380, "ends_at": "2026-08-10T22:47:14Z", "extra": { "text": { "ends_at": "2026-08-10 10:47:14 PM +00:00", "duration": "19 days" } } }, "last_claimed_at": null, "expires_at": "2027-07-20T13:44:39Z", "admin": { "address": "inj1loremipsumdolorsitametconsecteturadipi", "issued_reclaim": false }, "extra": { "text": { "begins_at": "2026-07-22 08:40:54 AM +00:00", "last_claimed_at": "N/A", "expires_at": "2027-07-20 01:44:39 PM +00:00" } }, "amounts": { "amount": "539033513", "claimed": "0", "claimable": "0", "locked": "539033513", "expired": "0", "reclaimed": "0", "extra": { "text": { "claimable": "0.0000 NEPT", "amount": "539.0335 NEPT", "reclaimed": "0.0000 NEPT", "locked": "539.0335 NEPT", "claimed": "0.0000 NEPT", "expired": "0.0000 NEPT" }, "percent": { "reclaimed": "0", "claimable": "0", "claimed": "0", "expired": "0", "locked": "1", "extra": { "text": { "locked": "100.00%", "reclaimed": "0.00%", "claimable": "0.00%", "expired": "0.00%", "claimed": "0.00%" } } }, "value": { "reclaimed": "0", "amount": "17.564815853184007856", "claimed": "0", "expired": "0", "price": "0.032585758453916404", "claimable": "0", "locked": "17.564815853184007856", "extra": { "text": { "expired": "$0.00", "claimed": "$0.00", "price": "$0.03", "locked": "$17.56", "reclaimed": "$0.00", "amount": "$17.56", "claimable": "$0.00" } } } } } }, { "begins_at": "2026-05-13T03:54:17Z", "schedule": { "kind": "linear", "duration": 26581850, "ends_at": "2027-03-16T19:45:07Z", "extra": { "text": { "ends_at": "2027-03-16 07:45:07 PM +00:00", "duration": "307 days" } } }, "last_claimed_at": null, "expires_at": "2028-01-16T01:05:19Z", "admin": { "address": "inj1loremipsumdolorsitametconsecteturadipi", "issued_reclaim": false }, "extra": { "text": { "begins_at": "2026-05-13 03:54:17 AM +00:00", "last_claimed_at": "N/A", "expires_at": "2028-01-16 01:05:19 AM +00:00" } }, "amounts": { "amount": "47623136", "claimed": "0", "claimable": "0", "locked": "47623136", "expired": "0", "reclaimed": "0", "extra": { "text": { "claimable": "0.0000 NEPT", "amount": "47.6231 NEPT", "reclaimed": "0.0000 NEPT", "locked": "47.6231 NEPT", "claimed": "0.0000 NEPT", "expired": "0.0000 NEPT" }, "percent": { "reclaimed": "0", "claimable": "0", "claimed": "0", "expired": "0", "locked": "1", "extra": { "text": { "locked": "100.00%", "reclaimed": "0.00%", "claimable": "0.00%", "expired": "0.00%", "claimed": "0.00%" } } }, "value": { "reclaimed": "0", "amount": "1.55183600651401064", "claimed": "0", "expired": "0", "price": "0.032585758453916404", "claimable": "0", "locked": "1.55183600651401064", "extra": { "text": { "expired": "$0.00", "claimed": "$0.00", "price": "$0.03", "locked": "$1.55", "reclaimed": "$0.00", "amount": "$1.55", "claimable": "$0.00" } } } } } } ], "totals": { "amount": "586656649", "claimed": "0", "claimable": "0", "locked": "586656649", "expired": "0", "reclaimed": "0", "extra": { "text": { "claimable": "0.0000 NEPT", "amount": "586.6566 NEPT", "reclaimed": "0.0000 NEPT", "locked": "586.6566 NEPT", "claimed": "0.0000 NEPT", "expired": "0.0000 NEPT" }, "percent": { "reclaimed": "0", "claimable": "0", "claimed": "0", "expired": "0", "locked": "1", "extra": { "text": { "locked": "100.00%", "reclaimed": "0.00%", "claimable": "0.00%", "expired": "0.00%", "claimed": "0.00%" } } }, "value": { "reclaimed": "0", "amount": "19.116651859698018496", "claimed": "0", "expired": "0", "price": "0.032585758453916404", "claimable": "0", "locked": "19.116651859698018496", "extra": { "text": { "expired": "$0.00", "claimed": "$0.00", "price": "$0.03", "locked": "$19.11", "reclaimed": "$0.00", "amount": "$19.11", "claimable": "$0.00" } } } } }, "last_claimed_at": "2025-03-01T14:29:00Z", "extra": { "text": { "last_claimed_at": "2025-03-01 02:29:00 PM +00:00" } } }, "error": null, "status": 200, "status_text": "200 OK" } ``` ## Domain Types ### User Unlock Amounts - `class UserUnlockAmounts: …` - `amount: str` The full unlock amount This value is immutable and does not change with regards to expiry/reclamation/lock states. - `claimable: str` 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. - `claimed: str` The amount that has already been successfully claimed by the user. - `expired: str` The amount that was claimable but has now expired due to the presence and subsequent passing of `expires_at` - `extra: Extra` - `percent: Optional[ExtraPercent]` Percentages for unlock amounts. These do not factor in the `amount_staked` or `amount_held` values. Will not be null when query param `with_percent` is `true`. - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraPercentExtra` - `text: Optional[ExtraPercentExtraText]` Human-readable variants of percentages for unlock amounts. Will not be null when query params `with_text` and `with_percent` are `true`. - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `locked: str` - `reclaimed: str` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `price: str` Text representation of price - `reclaimed: str` - `locked: str` - `price: str` Price used in value calculations - `reclaimed: str` - `locked: str` 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. - `reclaimed: str` The amount that has been reclaimed from the unlock arrangement admin ### User Unlock Overview - `class UserUnlockOverview: …` - `arrangements: List[Arrangement]` A list of the user's active unlock arrangements - `admin: Optional[ArrangementAdmin]` The admin of the unlock, if any - `address: str` The address of the unlock arrangement's admin - `issued_reclaim: bool` True if the admin his issued a reclaim on the unlock arrangement - `amounts: UserUnlockAmounts` Primary unlock amount and other pre-calculated/derived amounts - `amount: str` The full unlock amount This value is immutable and does not change with regards to expiry/reclamation/lock states. - `claimable: str` 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. - `claimed: str` The amount that has already been successfully claimed by the user. - `expired: str` The amount that was claimable but has now expired due to the presence and subsequent passing of `expires_at` - `extra: Extra` - `percent: Optional[ExtraPercent]` Percentages for unlock amounts. These do not factor in the `amount_staked` or `amount_held` values. Will not be null when query param `with_percent` is `true`. - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraPercentExtra` - `text: Optional[ExtraPercentExtraText]` Human-readable variants of percentages for unlock amounts. Will not be null when query params `with_text` and `with_percent` are `true`. - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `locked: str` - `reclaimed: str` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `reclaimed: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `claimable: str` - `claimed: str` - `expired: str` - `locked: str` - `price: str` Text representation of price - `reclaimed: str` - `locked: str` - `price: str` Price used in value calculations - `reclaimed: str` - `locked: str` 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. - `reclaimed: str` The amount that has been reclaimed from the unlock arrangement admin - `begins_at: datetime` The time at which the unlock begins - `expires_at: Optional[datetime]` The time at which the unlock expires, if any - `extra: ArrangementExtra` - `text: Optional[ArrangementExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `begins_at: str` - `expires_at: str` - `last_claimed_at: str` - `last_claimed_at: Optional[datetime]` The time at which the unlock was last claimed, if any - `schedule: UserUnlockSchedule` The schedule of the unlock - `class UserUnlockScheduleLinear: …` - `duration: int` The duration of the unlock in seconds - `ends_at: datetime` The time at which the unlock has/was/would've completed. This is identical to `begins_at + duration`. This timestamp will remain valid even if the unlock has been reclaimed. Therefore, it should not be used as a validity check. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `ends_at: str` - `kind: Literal["linear"]` - `"linear"` - `class UserUnlockScheduleLumpSum: …` - `kind: Literal["lump_sum"]` - `"lump_sum"` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `last_claimed_at: str` - `last_claimed_at: Optional[datetime]` The time at which the most recent unlock claim occurred, if any - `totals: UserUnlockAmounts` Contains pre-calculated total amounts for all unlock agreements ### User Unlock Schedule - `UserUnlockSchedule` - `class UserUnlockScheduleLinear: …` - `duration: int` The duration of the unlock in seconds - `ends_at: datetime` The time at which the unlock has/was/would've completed. This is identical to `begins_at + duration`. This timestamp will remain valid even if the unlock has been reclaimed. Therefore, it should not be used as a validity check. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `ends_at: str` - `kind: Literal["linear"]` - `"linear"` - `class UserUnlockScheduleLumpSum: …` - `kind: Literal["lump_sum"]` - `"lump_sum"` ### User Unlock Schedule Linear - `class UserUnlockScheduleLinear: …` - `duration: int` The duration of the unlock in seconds - `ends_at: datetime` The time at which the unlock has/was/would've completed. This is identical to `begins_at + duration`. This timestamp will remain valid even if the unlock has been reclaimed. Therefore, it should not be used as a validity check. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `ends_at: str` - `kind: Literal["linear"]` - `"linear"` ### User Unlock Schedule Lump Sum - `class UserUnlockScheduleLumpSum: …` - `kind: Literal["lump_sum"]` - `"lump_sum"` # Staking ## Get user staking overview `user.nept.staking.get_overview(straddress, StakingGetOverviewParams**kwargs) -> StakingGetOverviewResponse` **get** `/api/v1/users/{address}/nept/staking` Get user staking overview ### Parameters - `address: str` The user account address - `with_text: Optional[bool]` Include text variation fields - `with_value: Optional[bool]` Calculate and include USD values for amounts, where applicable ### Returns - `class StakingGetOverviewResponse: …` - `data: UserStake` - `asset_info: AssetInfo` Asset identifiers with associated metadata - `asset: AssetSpec` 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: str` - `group: Literal["native", "token"]` - `"native"` - `"token"` - `group_key: str` - `classification: AssetClassification` 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. - `class Regular: …` - `kind: Literal["regular"]` - `"regular"` - `neptune_receipt_asset: Optional[AssetSpec]` Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc) - `class NeptuneReceiptToken: …` - `kind: Literal["neptune_receipt_token"]` - `"neptune_receipt_token"` - `origin_asset: AssetSpec` Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc) - `class LiquidStakingToken: …` - `kind: Literal["liquid_staking_token"]` - `"liquid_staking_token"` - `origin_asset: Optional[AssetSpec]` 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` Additional metadata for assets - `decimals_denom: int` Denom exponent, or num. of decimal places that shift between denom/standard amounts (e.g. `18` for `INJ`) - `decimals_display: int` Number of decimals used when displaying amounts of this asset (this is subjective and used for generating text representations) - `name: str` Full name of the asset - `symbol: str` Symbol of the asset, e.g.: `NEPT` `INJ` - `symbol_denom: str` Denom symbol for the asset (e.g. `inj` for `INJ`, `sat` for `BTC`) - `bonding_sum: str` 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) - `claimable_rewards: str` NEPT rewarded from staking that is available yet not claimed by the user - `claimable_unbonding: str` Sum of all unbond/unstake amounts that have completed their lockup period and are ready to be claimed. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `unclaimed: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `price: str` Text representation of price - `unclaimed: str` - `price: str` Price used in value calculations - `unclaimed: str` - `pools: List[UserStakePool]` User allocations for each staking pool - `amount_sum: str` Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `common: StakingPoolFull` Staking pool contents along with associated pool state and pool params - `duration: int` The lockup duration for this pool in seconds - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `index: str` - `index: int` The ordered index (position) of this pool - `params: StakingPoolParams` Staking pool contract parameters - `flash_loan_weight: str` The pool's weight (multiplier) for flash loans volume - `gov_weight: str` The pool's weight (multiplier) on governance for an associated stake - `health_weight: str` The pool's weight (multiplier) on account health for an associated stake - `reward_weight: str` The pool's weight (multiplier) on rewards for an associated stake - `state: StakingPoolState` Current contract state of staking pool - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `total_bonded: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `price: str` Text representation of price - `total_bonded: str` - `price: str` Price used in value calculations - `total_bonded: str` - `total_bonded: str` The total amount staked to this pool - `contents: List[UserStakeBondingEntry]` Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unbonding: UserStakeUnbonding` User unstake/unbonding data - `amount_sum: str` Total amount of all unbond entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `contents: List[UserStakeUnbondingEntry]` 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: str` Unbonding amount - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `unlock_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unlock_at: datetime` Timestamp for when the unstake can be redeemed - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unclaimed: str` - `error: None` Error data. Guaranteed `null` for successful response. - `status: int` HTTP status. Successful responses are guaranteed to be < `400`. Conversely, error responses are guaranteed to be >= `400`. - `status_text: str` HTTP status text ### Example ```python from neptune_api_v2 import NeptuneAPIV2 client = NeptuneAPIV2() response = client.user.nept.staking.get_overview( address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0", ) print(response.data) ``` #### Response ```json { "data": { "asset_info": { "asset": { "id": "native;factory/inj1v3a4zznudwpukpr8y987pu5gnh4xuf7v36jhva/nept", "group": "native", "group_key": "factory/inj1v3a4zznudwpukpr8y987pu5gnh4xuf7v36jhva/nept" }, "metadata": { "name": "Neptune Token", "symbol": "NEPT", "symbol_denom": "nept", "decimals_denom": 6, "decimals_display": 5 }, "classification": { "kind": "regular", "neptune_receipt_asset": null } }, "bonding_sum": "261303252", "pools": [ { "common": { "index": 0, "duration": 604800, "extra": { "text": { "duration": "7 days", "index": "1" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "109444445", "contents": [ { "account_index": 0, "amount": "109444445", "cascade": true, "transition_at": "2026-04-21T00:22:41.146085865Z", "last_stake_acc": "2.815383", "extra": { "text": { "amount": "109.44444 NEPT", "transition_at": "2026-04-21 12:22:41 AM +00:00" }, "value": { "amount": "3.566330248892938912", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$3.56" } } } } } ], "extra": { "text": { "amount_sum": "109.44444 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "3.566330248892938912", "extra": { "text": { "price": "$0.03", "amount_sum": "$3.56" } } } } }, { "common": { "index": 1, "duration": 2592000, "extra": { "text": { "duration": "30 days", "index": "2" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "63111066", "contents": [ { "account_index": 0, "amount": "63111066", "cascade": false, "transition_at": null, "last_stake_acc": "4.699306", "extra": { "text": { "amount": "63.11106 NEPT", "transition_at": "N/A" }, "value": { "amount": "2.056521952445176131", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$2.05" } } } } } ], "extra": { "text": { "amount_sum": "63.11106 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "2.056521952445176131", "extra": { "text": { "price": "$0.03", "amount_sum": "$2.05" } } } } }, { "common": { "index": 2, "duration": 7776000, "extra": { "text": { "duration": "90 days", "index": "3" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "88747741", "contents": [ { "account_index": 0, "amount": "88747741", "cascade": true, "transition_at": "2026-04-30T04:17:56.146113607Z", "last_stake_acc": "9.377375", "extra": { "text": { "amount": "88.74774 NEPT", "transition_at": "2026-04-30 04:17:56 AM +00:00" }, "value": { "amount": "2.891912451556733457", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$2.89" } } } } } ], "extra": { "text": { "amount_sum": "88.74774 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "2.891912451556733457", "extra": { "text": { "price": "$0.03", "amount_sum": "$2.89" } } } } } ], "unbonding": { "amount_sum": "189563302", "contents": [ { "amount": "189563302", "unlock_at": "2026-05-03T06:38:00.146126420Z", "extra": { "text": { "unlock_at": "2026-05-03 06:38:00 AM +00:00", "amount": "189.56330 NEPT" }, "value": { "price": "0.032585758453916404", "amount": "6.177063970698808374", "extra": { "text": { "amount": "$6.17", "price": "$0.03" } } } } } ], "extra": { "text": { "amount_sum": "189.56330 NEPT" }, "value": { "amount_sum": "6.177063970698808374", "price": "0.032585758453916404", "extra": { "text": { "amount_sum": "$6.17", "price": "$0.03" } } } } }, "unclaimed": "184925198", "claimable_rewards": "122236531", "claimable_unbonding": "38301584", "extra": { "text": { "claimable_rewards": "122.23653 NEPT", "bonding_sum": "261.30325 NEPT", "claimable_unbonding": "38.30158 NEPT", "unclaimed": "184.92519 NEPT" }, "value": { "bonding_sum": "8.514764652894848501", "unclaimed": "6.025927834070664885", "claimable_unbonding": "1.248086164626389276", "claimable_rewards": "3.983170073410664588", "price": "0.032585758453916404", "extra": { "text": { "unclaimed": "$6.02", "price": "$0.03", "bonding_sum": "$8.51", "claimable_rewards": "$3.98", "claimable_unbonding": "$1.24" } } } } }, "error": null, "status": 200, "status_text": "200 OK" } ``` ## Get user staking pools `user.nept.staking.get_staking_pools(straddress, StakingGetStakingPoolsParams**kwargs) -> StakingGetStakingPoolsResponse` **get** `/api/v1/users/{address}/nept/staking/pools` Get user staking pools ### Parameters - `address: str` The user account address - `with_text: Optional[bool]` Include text variation fields - `with_value: Optional[bool]` Calculate and include USD values for amounts, where applicable ### Returns - `class StakingGetStakingPoolsResponse: …` - `count: int` Total number of objects irrespective of any pagination parameters. - `data: List[UserStakePool]` - `amount_sum: str` Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `common: StakingPoolFull` Staking pool contents along with associated pool state and pool params - `duration: int` The lockup duration for this pool in seconds - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `index: str` - `index: int` The ordered index (position) of this pool - `params: StakingPoolParams` Staking pool contract parameters - `flash_loan_weight: str` The pool's weight (multiplier) for flash loans volume - `gov_weight: str` The pool's weight (multiplier) on governance for an associated stake - `health_weight: str` The pool's weight (multiplier) on account health for an associated stake - `reward_weight: str` The pool's weight (multiplier) on rewards for an associated stake - `state: StakingPoolState` Current contract state of staking pool - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `total_bonded: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `price: str` Text representation of price - `total_bonded: str` - `price: str` Price used in value calculations - `total_bonded: str` - `total_bonded: str` The total amount staked to this pool - `contents: List[UserStakeBondingEntry]` Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `error: None` Error data. Guaranteed `null` for successful response. - `status: int` HTTP status. Successful responses are guaranteed to be < `400`. Conversely, error responses are guaranteed to be >= `400`. - `status_text: str` HTTP status text ### Example ```python from neptune_api_v2 import NeptuneAPIV2 client = NeptuneAPIV2() response = client.user.nept.staking.get_staking_pools( address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0", ) print(response.count) ``` #### Response ```json { "data": [ { "common": { "index": 0, "duration": 604800, "extra": { "text": { "duration": "7 days", "index": "1" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "14652088", "contents": [ { "account_index": 0, "amount": "14652088", "cascade": false, "transition_at": null, "last_stake_acc": "1.771489", "extra": { "text": { "amount": "14.65208 NEPT", "transition_at": "N/A" }, "value": { "amount": "0.477449400413527096", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$0.47" } } } } } ], "extra": { "text": { "amount_sum": "14.65208 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "0.477449400413527096", "extra": { "text": { "price": "$0.03", "amount_sum": "$0.47" } } } } }, { "common": { "index": 1, "duration": 2592000, "extra": { "text": { "duration": "30 days", "index": "2" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "185802473", "contents": [ { "account_index": 0, "amount": "185802473", "cascade": true, "transition_at": "2026-04-10T03:03:30.146395597Z", "last_stake_acc": "6.034249", "extra": { "text": { "amount": "185.80247 NEPT", "transition_at": "2026-04-10 03:03:30 AM +00:00" }, "value": { "amount": "6.054514505318324398", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$6.05" } } } } } ], "extra": { "text": { "amount_sum": "185.80247 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "6.054514505318324398", "extra": { "text": { "price": "$0.03", "amount_sum": "$6.05" } } } } }, { "common": { "index": 2, "duration": 7776000, "extra": { "text": { "duration": "90 days", "index": "3" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "26604454", "contents": [ { "account_index": 0, "amount": "26604454", "cascade": true, "transition_at": "2026-04-22T11:37:54.146410405Z", "last_stake_acc": "7.290343", "extra": { "text": { "amount": "26.60445 NEPT", "transition_at": "2026-04-22 11:37:54 AM +00:00" }, "value": { "amount": "0.86692631184233009", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$0.86" } } } } } ], "extra": { "text": { "amount_sum": "26.60445 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "0.86692631184233009", "extra": { "text": { "price": "$0.03", "amount_sum": "$0.86" } } } } } ], "count": 3, "error": null, "status": 200, "status_text": "200 OK" } ``` ## Get user staking pool by duration/index `user.nept.staking.get_staking_pool(straddress, StakingGetStakingPoolParams**kwargs) -> StakingGetStakingPoolResponse` **get** `/api/v1/users/{address}/nept/staking/pools/lookup` Get user staking pool by duration/index ### Parameters - `address: str` The user account address - `duration: Optional[int]` Duration of pool to lookup (**in nanoseconds**) **NOTE:** Either index or duration must be provided. Cannot specify both. - `index: Optional[int]` Index of pool to lookup **NOTE:** Either index or duration must be provided. Cannot specify both. - `with_text: Optional[bool]` Include text variation fields - `with_value: Optional[bool]` Calculate and include USD values for amounts, where applicable ### Returns - `class StakingGetStakingPoolResponse: …` - `data: UserStakePool` - `amount_sum: str` Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `common: StakingPoolFull` Staking pool contents along with associated pool state and pool params - `duration: int` The lockup duration for this pool in seconds - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `index: str` - `index: int` The ordered index (position) of this pool - `params: StakingPoolParams` Staking pool contract parameters - `flash_loan_weight: str` The pool's weight (multiplier) for flash loans volume - `gov_weight: str` The pool's weight (multiplier) on governance for an associated stake - `health_weight: str` The pool's weight (multiplier) on account health for an associated stake - `reward_weight: str` The pool's weight (multiplier) on rewards for an associated stake - `state: StakingPoolState` Current contract state of staking pool - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `total_bonded: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `price: str` Text representation of price - `total_bonded: str` - `price: str` Price used in value calculations - `total_bonded: str` - `total_bonded: str` The total amount staked to this pool - `contents: List[UserStakeBondingEntry]` Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `error: None` Error data. Guaranteed `null` for successful response. - `status: int` HTTP status. Successful responses are guaranteed to be < `400`. Conversely, error responses are guaranteed to be >= `400`. - `status_text: str` HTTP status text ### Example ```python from neptune_api_v2 import NeptuneAPIV2 client = NeptuneAPIV2() response = client.user.nept.staking.get_staking_pool( address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0", ) print(response.data) ``` #### Response ```json { "data": { "common": { "index": 0, "duration": 604800, "extra": { "text": { "duration": "7 days", "index": "1" } }, "params": { "reward_weight": "2", "gov_weight": "2", "health_weight": "1", "flash_loan_weight": "0" }, "state": { "total_bonded": "0", "extra": { "text": { "total_bonded": "0.00000 NEPT" }, "value": { "total_bonded": "0", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "total_bonded": "$0.00" } } } } } }, "amount_sum": "103086089", "contents": [ { "account_index": 0, "amount": "103086089", "cascade": false, "transition_at": null, "last_stake_acc": "0.281368", "extra": { "text": { "amount": "103.08608 NEPT", "transition_at": "N/A" }, "value": { "amount": "3.359138396112928821", "price": "0.032585758453916404", "extra": { "text": { "price": "$0.03", "amount": "$3.35" } } } } } ], "extra": { "text": { "amount_sum": "103.08608 NEPT" }, "value": { "price": "0.032585758453916404", "amount_sum": "3.359138396112928821", "extra": { "text": { "price": "$0.03", "amount_sum": "$3.35" } } } } }, "error": null, "status": 200, "status_text": "200 OK" } ``` ## Get user unstaking pool `user.nept.staking.get_unstaking(straddress, StakingGetUnstakingParams**kwargs) -> StakingGetUnstakingResponse` **get** `/api/v1/users/{address}/nept/staking/unstaking` Get user unstaking pool ### Parameters - `address: str` The user account address - `with_text: Optional[bool]` Include text variation fields - `with_value: Optional[bool]` Calculate and include USD values for amounts, where applicable ### Returns - `class StakingGetUnstakingResponse: …` - `data: UserStakeUnbonding` - `amount_sum: str` Total amount of all unbond entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `contents: List[UserStakeUnbondingEntry]` 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: str` Unbonding amount - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `unlock_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unlock_at: datetime` Timestamp for when the unstake can be redeemed - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `error: None` Error data. Guaranteed `null` for successful response. - `status: int` HTTP status. Successful responses are guaranteed to be < `400`. Conversely, error responses are guaranteed to be >= `400`. - `status_text: str` HTTP status text ### Example ```python from neptune_api_v2 import NeptuneAPIV2 client = NeptuneAPIV2() response = client.user.nept.staking.get_unstaking( address="injvalcons1a03k0ztfyjnd70apawva003pkh0adqmau0a9q0", ) print(response.data) ``` #### Response ```json { "data": { "amount_sum": "87588537", "contents": [ { "amount": "87588537", "unlock_at": "2026-04-12T06:47:37.146770220Z", "extra": { "text": { "unlock_at": "2026-04-12 06:47:37 AM +00:00", "amount": "87.58853 NEPT" }, "value": { "price": "0.032585758453916404", "amount": "2.854138910013919746", "extra": { "text": { "amount": "$2.85", "price": "$0.03" } } } } } ], "extra": { "text": { "amount_sum": "87.58853 NEPT" }, "value": { "amount_sum": "2.854138910013919746", "price": "0.032585758453916404", "extra": { "text": { "amount_sum": "$2.85", "price": "$0.03" } } } } }, "error": null, "status": 200, "status_text": "200 OK" } ``` ## Domain Types ### User Stake - `class UserStake: …` - `asset_info: AssetInfo` Asset identifiers with associated metadata - `asset: AssetSpec` 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: str` - `group: Literal["native", "token"]` - `"native"` - `"token"` - `group_key: str` - `classification: AssetClassification` 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. - `class Regular: …` - `kind: Literal["regular"]` - `"regular"` - `neptune_receipt_asset: Optional[AssetSpec]` Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc) - `class NeptuneReceiptToken: …` - `kind: Literal["neptune_receipt_token"]` - `"neptune_receipt_token"` - `origin_asset: AssetSpec` Provides a unique identifier for an asset for use throughout the Neptune API. IDs are unique across asset domains (contract tokens, native denoms, etc) - `class LiquidStakingToken: …` - `kind: Literal["liquid_staking_token"]` - `"liquid_staking_token"` - `origin_asset: Optional[AssetSpec]` 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` Additional metadata for assets - `decimals_denom: int` Denom exponent, or num. of decimal places that shift between denom/standard amounts (e.g. `18` for `INJ`) - `decimals_display: int` Number of decimals used when displaying amounts of this asset (this is subjective and used for generating text representations) - `name: str` Full name of the asset - `symbol: str` Symbol of the asset, e.g.: `NEPT` `INJ` - `symbol_denom: str` Denom symbol for the asset (e.g. `inj` for `INJ`, `sat` for `BTC`) - `bonding_sum: str` 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) - `claimable_rewards: str` NEPT rewarded from staking that is available yet not claimed by the user - `claimable_unbonding: str` Sum of all unbond/unstake amounts that have completed their lockup period and are ready to be claimed. - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `unclaimed: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `bonding_sum: str` - `claimable_rewards: str` - `claimable_unbonding: str` - `price: str` Text representation of price - `unclaimed: str` - `price: str` Price used in value calculations - `unclaimed: str` - `pools: List[UserStakePool]` User allocations for each staking pool - `amount_sum: str` Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `common: StakingPoolFull` Staking pool contents along with associated pool state and pool params - `duration: int` The lockup duration for this pool in seconds - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `index: str` - `index: int` The ordered index (position) of this pool - `params: StakingPoolParams` Staking pool contract parameters - `flash_loan_weight: str` The pool's weight (multiplier) for flash loans volume - `gov_weight: str` The pool's weight (multiplier) on governance for an associated stake - `health_weight: str` The pool's weight (multiplier) on account health for an associated stake - `reward_weight: str` The pool's weight (multiplier) on rewards for an associated stake - `state: StakingPoolState` Current contract state of staking pool - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `total_bonded: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `price: str` Text representation of price - `total_bonded: str` - `price: str` Price used in value calculations - `total_bonded: str` - `total_bonded: str` The total amount staked to this pool - `contents: List[UserStakeBondingEntry]` Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unbonding: UserStakeUnbonding` User unstake/unbonding data - `amount_sum: str` Total amount of all unbond entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `contents: List[UserStakeUnbondingEntry]` 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: str` Unbonding amount - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `unlock_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unlock_at: datetime` Timestamp for when the unstake can be redeemed - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unclaimed: str` ### User Stake Bonding Entry - `class UserStakeBondingEntry: …` - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` ### User Stake Pool - `class UserStakePool: …` - `amount_sum: str` Total staked of all entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `common: StakingPoolFull` Staking pool contents along with associated pool state and pool params - `duration: int` The lockup duration for this pool in seconds - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `duration: str` - `index: str` - `index: int` The ordered index (position) of this pool - `params: StakingPoolParams` Staking pool contract parameters - `flash_loan_weight: str` The pool's weight (multiplier) for flash loans volume - `gov_weight: str` The pool's weight (multiplier) on governance for an associated stake - `health_weight: str` The pool's weight (multiplier) on account health for an associated stake - `reward_weight: str` The pool's weight (multiplier) on rewards for an associated stake - `state: StakingPoolState` Current contract state of staking pool - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `total_bonded: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `price: str` Text representation of price - `total_bonded: str` - `price: str` Price used in value calculations - `total_bonded: str` - `total_bonded: str` The total amount staked to this pool - `contents: List[UserStakeBondingEntry]` Bonding/stake entries **NOTE:** entries that differ only in amount are merged upon creation - `account_index: int` User account index - `amount: str` Bonding amount - `cascade: bool` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `transition_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `last_stake_acc: str` - `transition_at: Optional[datetime]` - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations ### User Stake Unbonding - `class UserStakeUnbonding: …` - `amount_sum: str` Total amount of all unbond entries **NOTE:** this value is affected by active filters, if any (e.g. filtering over account index) - `contents: List[UserStakeUnbondingEntry]` 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: str` Unbonding amount - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `unlock_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unlock_at: datetime` Timestamp for when the unstake can be redeemed - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount_sum: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount_sum: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount_sum: str` - `price: str` Text representation of price - `price: str` Price used in value calculations ### User Stake Unbonding Entry - `class UserStakeUnbondingEntry: …` - `amount: str` Unbonding amount - `extra: Extra` - `text: Optional[ExtraText]` Human-readable field variants. Will not be null when query param `with_text` is `true`. - `amount: str` - `unlock_at: str` - `value: Optional[ExtraValue]` USD values for the corresponding amounts above. Will not be null when query param `with_value` is `true`. ### Note This variant group contains an additional `price` field (set to the number used in value calculation). The embedded text group will contain the text variant if `with_text` was specified as well. - `amount: str` - `extra: ExtraValueExtra` - `text: Optional[ExtraValueExtraText]` Human-readable variants of USD values. Will not be null when query params `with_text` and `with_value` are `true`. - `amount: str` - `price: str` Text representation of price - `price: str` Price used in value calculations - `unlock_at: datetime` Timestamp for when the unstake can be redeemed