Luganodes Docs
TwitterLinkedInMedium
  • Luganodes
  • Native ETH Staking
    • Features
      • Stake
      • Portfolio
  • Custodians
    • Fireblocks
    • Ledger
  • Networks
    • Overview
    • Active Networks
      • Aptos
      • Archway
      • Avail
      • Avalanche
      • bitsCruch
      • Canto
      • Cardano
      • Chiliz
      • Composable Finance
      • Concordium
      • Cosmos
      • Covalent
      • dYdX
      • Eigen Layer
      • Ethereum
      • Elixir
      • Flare
      • Gitopia
      • Kava
      • Kroma
      • Kusama
      • Lukso
      • MultiversX
      • Namada
      • Near
      • Neutron
      • Noble
      • Persistence
      • Polkadot
      • Polygon
      • Radix
      • Ronin
      • River
      • Saga
      • Solana
      • Stride
      • Sui
      • Tenet
      • Tron
      • Ton
      • Vanar
      • Walrus
      • Zilliqa
  • Staking APIs
    • Overview
    • Ethereum
      • Staking Guide
      • Authentication
      • Node Provisioning APIs
      • Consolidation & Switch
      • Exits
      • FAQs
    • Solana
      • Staking Guide
      • Staking
      • Withdrawals
  • TOOLS
    • Ethereum
      • Pectra CLI
    • Hyperliquid
      • Hypermon Monitoring Tool
    • Flare
      • FTSOv2 Monitoring Tool
    • Solana
      • Solana Indexer
    • Berachain
      • Berachain Indexer
Powered by GitBook
On this page
  • API Reference
  • Stake Request
  • Balance
  1. Staking APIs
  2. Solana

Staking

PreviousStaking GuideNextWithdrawals

Last updated 4 days ago

  1. Returns an unsigned transaction to delegate SOL from your wallet to a validator.

  2. Returns the current balance and status of a wallet or stake account.

API Reference

Stake Request

POST /api/v1/stake

Submits a stake request to generate an unsigned transaction. This transaction needs to be signed by the private key of the wallet address and broadcasted to the network to trigger consolidation. This request also creates a stake account and user will have to pay one time rent fee for stake account creation.

Headers

Name
Type
Description

api-key*

String

API Key provided by Luganodes

Request Body

Name
Type
Description

validatorPubKey*

String

Public address of validator

walletPubKey*

String

Wallet address

amount*

Number

Stake amount in lamports. 1 SOL = 10^9 Lamports

{
    "success": true,
    "data": {
        "validatorPubkey": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
        "walletPubkey": "2WeFEJbeXFrfm9v7zgF25bViroaHgLxX7imeMyLFzeBA",
        "stakeAccountPubkey": "6zvvTW6sNkuNtTfxZNZRtQrMVv1T6R3nT9E737v5Jizq",
        "stakeAmount": 1000000,
        "rentExemptAmount": 2282880,
        "totalAmount": 3282880,
        "unsignedTransactionBase64": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzdzie/leLci0dnkUHJcxfRxpuTLUHL4XTHaTzB+AjKR5l2J4UbR30Bf7RGUoFMpZC01H86zNYonRuPU/Xaz4HAgAHCRZzpNGTlwgo9JlR6hlKexfg+w05YkuOhVBPrAHlba4pWSGCmvVn+jv3z6eixWz1P5/QsY1UYpp74BX7xpFKhWYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFLzqwV3zcnF1DzQIFiTM4mDS8C6kifk5UY/cZ2Z/vLqBqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGodgXpQIFC2gHkebObbiOHltxUPYfxnkKTrTRAAAAAAan1RcYx3TJKFZjmGkdXraLXrijm0ttXHNVWyEAAAAABqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGTWE0P7tm7NDHRMga+VEKBtXuFZsxTdf9AAAAFhS3xilPpygxdfDGKQjwR5UVDEsMWT7s7DmfaNRxbs9AwICAAE0AAAAAMAXMgAAAAAAyAAAAAAAAAAGodgXkTdUKpg0N73+KnqyVX9TXIp4citopJ3AAAAAAAQCAQd0AAAAABZzpNGTlwgo9JlR6hlKexfg+w05YkuOhVBPrAHlba4pFnOk0ZOXCCj0mVHqGUp7F+D7DTliS46FUE+sAeVtrikAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBgEDBggFAAQCAAAA"
    }
}

Sample Request

curl --location '{{url}}/v1/stake' \
--header 'api-key: ee908371-d13b-43dd-ae33-b854dade5e9d' \
--data '{
    "validatorPubkey": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
    "walletPubkey": "2WeFEJbeXFrfm9v7zgF25bViroaHgLxX7imeMyLFzeBA",
    "amount": 1000000
}'

Types

Stake Response Object

Property
Description
Type

validatorPubKey

Public address of validator

String

walletPubKey

Public address of user wallet

String

stakeAccountPubKey

Public address of stake account

String

unsignedTransactionBase64

Unsigned transaction which needs to be signed with the private key of the user wallet

String

stakeAmount

Amount of SOL to be staked

Number

rentAmount

Rent used for creation for stake account. Rent is required to be paid for creation of stake account and is a one time fee.

Number

totalAmount

Total SOL to be deducted from balance. It is the sum of stake amount and rent.

Number

Balance

POST api/v1/balance

Returns the list of stake accounts associated with a wallet address along with their balance and active stake.

Headers

Name
Type
Description

api-key*

String

API Key provided by Luganodes

Request Body

Name
Type
Description

walletPubKey*

String

Public address of user wallet

{
    "success": true,
    "data": {
        "walletPubkey": "2WeFEJbeXFrfm9v7zgF25bViroaHgLxX7imeMyLFzeBA",
        "balance": 177596826,
        "stakeAccounts": [
            {
                "pubkey": "BW8yWJoNPBQfKLLN2oKh7FxQEGimXFDHfDgrADPxRnxj",
                "balance": 2282881,
                "activeStake": 1,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Active"
            },
            {
                "pubkey": "GNyGGsXC2ms8h7PPPodGDb1s9H42yTmF8rJEoELJmwkT",
                "balance": 4651806,
                "activeStake": 2368840,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Inactive"
            },
            {
                "pubkey": "DN9vL9YctFCrFe3E9BYBngAFBSa6ZYLTfTmHieRNWpub",
                "balance": 2282881,
                "activeStake": 1,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Inactive"
            },
            {
                "pubkey": "Dj9nwsnQJm43CY1fNp3rjKnPxEPQL7dEanP9gDsM8LH1",
                "balance": 2282881,
                "activeStake": 1,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Inactive"
            },
            {
                "pubkey": "E2jfyX79hkEpvc97Rcp55DTTNLazNvyv9GiLgCqjQSeq",
                "balance": 2282881,
                "activeStake": 1,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Active"
            },
            {
                "pubkey": "32jickPbzvPN1q3GJeRxfeTUHWJLHSLYLEQ9xrcssqba",
                "balance": 2282890,
                "activeStake": 10,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Inactive"
            },
            {
                "pubkey": "7aNyy5FLrikPoTWcn5iGT4DUPsWqEk6v6pPNKWjDZyoG",
                "balance": 3283267,
                "activeStake": 1000351,
                "voter": "6aow5rTURdbhbeMDrFrbP2GR5vZjMEhktEy87iH1VGPs",
                "status": "Active"
            }
        ]
    }
}

Sample Request

curl --location '{{url}}/v1/balance' \
--header 'api-key: ee908371-d13b-43dd-ae33-b854dade5e9d' \
--data '{
    "walletPubKey": "0x9838f66ccbe1dcd40b31e619c8fdd6aa3ce1e4f8c5ba0eb04776202612d4898f9967de72983711297b1af0868c73f973"
}'

Stake Accounts Response Object

Property
Description
Type

pubKey

Public address of stake account

String

balance

Balance of user stake account

Number

activeStake

Active stake of user stake account

Number

voter

Public address of voter account

String

status

Status of stake - Active/Inactive

String

Stake API
Balance API
Stake Request
Sample Request
Types
Stake Response Object
Balance Request
Sample Request
Balance Response Object