---
title: "Get staking requirements"
method: GET
path: "/api/staking/v1/{coin}/wallets/{walletId}/attributes"
tags: ["Staking State Information"]
---

# Get staking requirements

`GET /api/staking/v1/{coin}/wallets/{walletId}/attributes`

Retrieve staking wallet state attribute information.

## Path parameters

- `coin` 'ADA' | 'APT' | 'ASI' | 'KAVACOSMOS' | 'ATOM' | 'AVAXC' | 'AVAXP' | 'BABY' | 'BERA' | 'BLD' | 'BSC' | 'BTC' | 'COREDAO' | 'COREUM' | 'CRONOS' | 'CSPR' | 'DOT' | 'EIGEN' | 'ETH' | 'FLRP' | 'HASH' | 'INJECTIVE' | 'MATIC' | 'NEAR' | 'OSMO' | 'POL' | 'POLYX' | 'RETH-ROCKET' | 'SEI' | 'SOMI' | 'SOL' | 'STORY' | 'STX' | 'SUI' | 'SUI:WAL' | 'TAO' | 'TIA' | 'TON' | 'TRX' | 'WETH' | 'WCT' | 'WFLR' | 'XDC' | 'ZETA', required — The staking asset.
- `walletId` string, required

## Response `200`

Successful Retrieving a Staking Wallet State Attribute Information

- union
  - object
    - `stakingSpendableAttributes` StakingSpendableAttributes1
      - `max` string — The maximum spendable amount.
      - `min` string — The minimum spendable amount.
      - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
      - `fee` string — The blockchain fee to submit the transactions.
    - `unstakingSpendableAttributes` UnStakingSpendableAttributes1
      - `max` string — The maximum spendable amount.
      - `min` string — The minimum spendable amount.
      - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
      - `fee` string — The blockchain fee to submit the transactions.
  - object
    - `spendableAttributes` DotWalletStakingSpendableAttributes
      - `stakingSpendableAttributes` StakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `unstakingSpendableAttributes` UnStakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
    - `permissionAttributes` WalletStakingPermissionAttributes — Permission attributes for the staking wallet.
      - `staking` StakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `unstaking` UnstakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `claimRewards` ClaimRewardsPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `switchValidator` SwitchValidatorPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `wallet` WalletPermissionAttributes1 — Permission attributes specific to the wallet.
        - `hasEnoughAdmins` boolean — True, if the wallet has enough admins to create a staking request.
        - `numberOfRequiredAdmins` integer — The number of admins required to create a hot staking request.
        - `useValidatorList` boolean — Boolean flag to control whether to show dropdown list of validators or not.
        - `skipAddressValidation` boolean — Boolean flag to control whether to perform validator address validation or not.
        - `showValidatorAddress` boolean — Boolean flag to control whether to display the validator address in the UI even when skipAddressValidation is true.
        - `allowPartialUnstake` boolean — True if the wallet allows partial unstaking.
        - `validatorNotNeededForStake` boolean — True if a validator is not required when staking.
        - `validatorCoin` string, nullable — Optional coin used for validator-specific staking.
    - `disclaimerAttributes` WalletStakingDisclaimerAttributes — Spendable disclaimer attributes for a staking wallet.
      - `staking` StakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `unstaking` UnstakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `claimRewards` ClaimRewardsDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `nextRewards` NextRewardsDisclaimerAttributes — Information about the next rewards cycle.
        - `rewardCycle` integer — Time in seconds until the next reward cycle.
      - `switchValidator` SwitchValidatorDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
  - object
    - `spendableAttributes` WalletStakingSpendableAttributes — Spendable attributes available for a wallet’s staking operations.
      - `staking` StakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `unstaking` UnStakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `claimRewards` ClaimRewardsSpendableAttributes
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `switchValidator` SwitchValidatorSpendableAttributes
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
    - `permissionAttributes` WalletStakingPermissionAttributes — Permission attributes for the staking wallet.
      - `staking` StakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `unstaking` UnstakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `claimRewards` ClaimRewardsPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `switchValidator` SwitchValidatorPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `wallet` WalletPermissionAttributes1 — Permission attributes specific to the wallet.
        - `hasEnoughAdmins` boolean — True, if the wallet has enough admins to create a staking request.
        - `numberOfRequiredAdmins` integer — The number of admins required to create a hot staking request.
        - `useValidatorList` boolean — Boolean flag to control whether to show dropdown list of validators or not.
        - `skipAddressValidation` boolean — Boolean flag to control whether to perform validator address validation or not.
        - `showValidatorAddress` boolean — Boolean flag to control whether to display the validator address in the UI even when skipAddressValidation is true.
        - `allowPartialUnstake` boolean — True if the wallet allows partial unstaking.
        - `validatorNotNeededForStake` boolean — True if a validator is not required when staking.
        - `validatorCoin` string, nullable — Optional coin used for validator-specific staking.
    - `disclaimerAttributes` WalletStakingDisclaimerAttributes — Spendable disclaimer attributes for a staking wallet.
      - `staking` StakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `unstaking` UnstakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `claimRewards` ClaimRewardsDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `nextRewards` NextRewardsDisclaimerAttributes — Information about the next rewards cycle.
        - `rewardCycle` integer — Time in seconds until the next reward cycle.
      - `switchValidator` SwitchValidatorDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
  - object
    - `spendableAttributes` WalletStakingSpendableAttributes — Spendable attributes available for a wallet’s staking operations.
      - `staking` StakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `unstaking` UnStakingSpendableAttributes1
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `claimRewards` ClaimRewardsSpendableAttributes
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
      - `switchValidator` SwitchValidatorSpendableAttributes
        - `max` string — The maximum spendable amount.
        - `min` string — The minimum spendable amount.
        - `multiplier` string — The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        - `fee` string — The blockchain fee to submit the transactions.
    - `permissionAttributes` WalletStakingPermissionAttributes — Permission attributes for the staking wallet.
      - `staking` StakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `unstaking` UnstakingPermissionAttributes1 — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `claimRewards` ClaimRewardsPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `switchValidator` SwitchValidatorPermissionAttributes — Base attributes for all permission types.
        - `enabled` boolean, required — True if the permission is enabled.
        - `disabledReason` string, nullable — Reason why the permission is disabled, if applicable.
      - `wallet` WalletPermissionAttributes1 — Permission attributes specific to the wallet.
        - `hasEnoughAdmins` boolean — True, if the wallet has enough admins to create a staking request.
        - `numberOfRequiredAdmins` integer — The number of admins required to create a hot staking request.
        - `useValidatorList` boolean — Boolean flag to control whether to show dropdown list of validators or not.
        - `skipAddressValidation` boolean — Boolean flag to control whether to perform validator address validation or not.
        - `showValidatorAddress` boolean — Boolean flag to control whether to display the validator address in the UI even when skipAddressValidation is true.
        - `allowPartialUnstake` boolean — True if the wallet allows partial unstaking.
        - `validatorNotNeededForStake` boolean — True if a validator is not required when staking.
        - `validatorCoin` string, nullable — Optional coin used for validator-specific staking.
    - `disclaimerAttributes` WalletStakingDisclaimerAttributes — Spendable disclaimer attributes for a staking wallet.
      - `staking` StakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `unstaking` UnstakingDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `claimRewards` ClaimRewardsDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.
      - `nextRewards` NextRewardsDisclaimerAttributes — Information about the next rewards cycle.
        - `rewardCycle` integer — Time in seconds until the next reward cycle.
      - `switchValidator` SwitchValidatorDisclaimerAttributes — Base fields common to all disclaimers.
        - `info` string[] — List of disclaimer messages.
        - `transactionsNeeded` integer — Number of transactions required.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `500` — Server Error - Transient error please try again

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
