Title

Pier Two Staking API

Version

1.0.57-mainnet

Base Url

https://gw-1.api.piertwo.io

Contact

The Pier Two Staking API Docs

Hierarchy (view full)

  • Api<null>
    • PierTwoStakingApi

Constructors

Properties

account: {
    addNewApiKey: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: GetApiKeyDto;
    }>);
    getAccount: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: GetAccountResponse;
    }>);
    getApiKeys: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: GetApiKeyDto[];
    }>);
    revokeApiKey: ((key, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: GetApiKeyDto;
    }>);
} = ...

Type declaration

baseUrl: string = "https://gw-1.api.piertwo.io"
ethereum: {
    abandonStake: ((stakeId, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: DataWithMessage;
    }>);
    broadcastPresignedExitMessage: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: BeaconNodeVoluntaryExitResponse;
    }>);
    bulkWithdraw: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: BulkWithdrawError[];
    }>);
    createStake: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: CreateStakeResponse;
    }>);
    createStakeV2: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: CreateStakeV2Response;
    }>);
    createStakeV3: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: CreateStakeV2Response;
    }>);
    estimateWithdrawalTimes: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: EstimatedWithdrawalTimes[];
    }>);
    genPresignedExitMsg: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorExitMessageResp[];
    }>);
    generateDepositData: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorDepositJson[];
    }>);
    getDepositDataForStake: ((stakeId, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorDepositJson[];
    }>);
    getEthereumStakes: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakeDetailsWithValidators[];
    }>);
    getOrderedValidators: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorWithStakeDetails[];
    }>);
    getStake: ((stakeId, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakeDetailsWithValidators;
    }>);
    getStakesWithValidatorStatusCounts: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakeWithValidatorStatusCounts[];
    }>);
    getValidatorAccountsSummary: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: CustomerAccount[];
    }>);
    getValidatorDailyPerformance: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorPerformance[];
    }>);
    getValidatorDailyRewards: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorStat[];
    }>);
    getValidatorDashboardSummary: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: CustomerDashboard;
    }>);
    getValidatorIncomeHistory: ((query, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorIncomeHistory[];
    }>);
    getValidatorInfo: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorInfo[];
    }>);
    getValidatorQueueStats: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: QueueStats;
    }>);
    getValidatorRewardsChartData: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: ValidatorDailyPerformanceStat[];
    }>);
} = ...

Type declaration

public: {
    getSystemInfo: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: SystemInfoResponse;
    }>);
    getWebsiteData: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: WebsiteData;
    }>);
    networkConfig: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: PierTwoInfo;
    }>);
} = ...

Type declaration

solana: {
    buildTransactionPayload: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: BuildTransactionPayloadResponseDto;
    }>);
    getNetworkStakingInfo: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingNetworkInfo;
    }>);
    getPerformanceSummary: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingPerformanceSummary;
    }>);
    getSolanaStakes: ((query?, params?) => Promise<Omit<PaginatedApiResponseBase, "data"> & Required<Pick<PaginatedApiResponseBase, "data">> & {
        data: SolanaStakeAccount[];
    }>);
    getStakeAccoutDailyRewards: ((query, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: SolanaStakeAccountRewards[];
    }>);
    getStakeRewardsChartData: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingRewardsChartData[];
    }>);
} = ...

Type declaration

  • buildTransactionPayload: ((data, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: BuildTransactionPayloadResponseDto;
    }>)

    Description

    Generate a stake transaction payload containing one or more instructions. Possible instruction types and inputs are described below: This returns a serialized transaction which can be deserialized, signed and submitted to the network. See @solana/web.js docs for deserializing Versioned Messages and working with Versioned Transactions N.B any instructions operating on an existing stake account must specify target stakePubkey in the request body seperate to the instructions Create and delegate new stake account ~~~ { type: 'createAndDelegate' input: { fromPubkey: pubkey of funding address, stakeAuthority: address authorized to delegate and undelegate stake, withdrawAuthority: address authorized to withdraw stake, lamports: amount of lamports to stake (1 sol = 1000000000 lamports), reference: an arbitrary reference used to identify/group the stake within the Pier Two platform, label: an arbitrary label/memo for use within the Pier Two platform } } ~~~ Create a new stake account (same input data as 'createAndDelegate') ~~~ { type: 'create' input: { fromPubkey: pubkey of funding address, stakeAuthority: address authorized to delegate and undelegate stake, withdrawAuthority: address authorized to withdraw stake, lamports: amount of lamports to stake (1 sol = 1000000000 lamports), reference: an arbitrary reference used to identify/group the stake within the Pier Two platform, label: an arbitrary label/memo for use within the Pier Two platform } } ~~~ Delegate an existing stake account ~~~ { type: 'delegate' input: { authorizedPubkey: address authorized to delegate and undelegate stake } } ~~~ Undelegate (deactivate) an existing stake account ~~~ { type: 'undelegate' input: { authorizedPubkey: address authorized to delegate and undelegate stake } } ~~~ Withdraw inactive stake (deactivated stake balance or any other excess SOL held by account) ~~~ { type: 'withdraw' input: { toPubkey: recipient of withdrawn funds, authorizedPubkey: address authorized to withdraw stake, lamports: amount of lamports to withdraw (1 sol = 1000000000 lamports), } } ~~~ Merge an eligible stake account into target stake account An eligible stake account must have the same stakeAuthority and withdrawAuthority and have been active for an entire epoch and earned rewards ~~~ { type: 'merge' input: { sourceStakePubkey: address of stake account to merge (this account will be dissolved/closed onchain), authorizedPubkey: address authorized to delegate and undelegate } } ~~~

    Tags

    Solana

    Name

    BuildTransactionPayload

    Summary

    Generate a stake transaction payload

    Request

    POST:/solana/stake/buildTransaction

  • getNetworkStakingInfo: ((params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingNetworkInfo;
    }>)

    Description

    Returns information about the current epoch and inflation reward rate.

    Tags

    Solana

    Name

    GetNetworkStakingInfo

    Summary

    Get current epoch staking reward info

    Request

    GET:/solana/stake/networkInfo

  • getPerformanceSummary: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingPerformanceSummary;
    }>)

    Description

    Returns the 7D, 30D and total inflation and MEV rewards for the specified stake accounts.

    Tags

    Solana

    Name

    GetPerformanceSummary

    Summary

    Get Solana stake performance summary

    Request

    GET:/solana/stake/performanceSummary

  • getSolanaStakes: ((query?, params?) => Promise<Omit<PaginatedApiResponseBase, "data"> & Required<Pick<PaginatedApiResponseBase, "data">> & {
        data: SolanaStakeAccount[];
    }>)

    Description

    Returns the details of Solana staking positions for your account.

    Tags

    Solana

    Name

    GetSolanaStakes

    Summary

    Get Solana Stake Accounts

    Request

    GET:/solana/stakes

  • getStakeAccoutDailyRewards: ((query, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: SolanaStakeAccountRewards[];
    }>)

    Description

    Returns daily rewards stats of specified stake accounts.

    Tags

    Solana

    Name

    GetStakeAccoutDailyRewards

    Summary

    Get daily rewards stats

    Request

    GET:/solana/stake/dailyRewards

  • getStakeRewardsChartData: ((query?, params?) => Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
        data: StakingRewardsChartData[];
    }>)

    Description

    Returns summarized Solana staking rewards data suitable for use in charts.

    Tags

    Solana

    Name

    GetStakeRewardsChartData

    Summary

    Get staking rewards chart data

    Request

    GET:/solana/stake/rewardsChartData

      • (query?, params?): Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
            data: StakingRewardsChartData[];
        }>
      • Parameters

        • Optional query: {
              currency?: number;
              datapoints?: number;
              dateFrom?: number;
              dateTo?: number;
              stakePubkeys?: string;
          }
          • Optional currency?: number

            currency used for price data

          • Optional datapoints?: number

            number of datapoints to return, defaults to 30

          • Optional dateFrom?: number

            unix timestamp of starting date from

          • Optional dateTo?: number

            unix timestamp of ending date to

          • Optional stakePubkeys?: string

            comma seperated list of stake pubkeys, will return all rewards if none are specified

        • params: RequestParams = {}

        Returns Promise<Omit<ApiResponseBase, "data"> & Required<Pick<ApiResponseBase, "data">> & {
            data: StakingRewardsChartData[];
        }>

utils: {
    waitForActiveMnemonic: ((args?) => Promise<unknown>);
    waitForValidatorStatus: ((args) => Promise<unknown>);
    generateBatchDepositCallData(args): `0x${string}`;
    validatorWithStakeDetailsToDepositDataJson(validatorWithStakeDetails): ValidatorDepositJson;
} = ...

Type declaration

  • waitForActiveMnemonic: ((args?) => Promise<unknown>)

    Description

    a promise that resolves when your mnemonic status is ACTIVE

    Tags

    utils

      • (args?): Promise<unknown>
      • Parameters

        • Optional args: {
              interval?: number;
          }
          • Optional interval?: number

        Returns Promise<unknown>

  • waitForValidatorStatus: ((args) => Promise<unknown>)

    Description

    a promise that resolves when all validators associated to stakeId reach desiredStatus

    Tags

    utils

  • generateBatchDepositCallData:function
    • Parameters

      Returns `0x${string}`

      Description

      generate call data for a batch validator deposit the data field returned from ethereum.getDepositDataForStake can be passed to this function

      Tags

      utils

  • validatorWithStakeDetailsToDepositDataJson:function
    • Parameters

      Returns ValidatorDepositJson

      Description

      converts data fetched from ethereum.getOrderedValidators to be used with utils.generateBatchDepositCallData

      Tags

      utils

Methods

  • Parameters

    Returns void

  • Parameters

    Returns string

  • Parameters

    Returns string

  • Parameters

    Returns undefined | AbortSignal

  • Parameters

    • key: string
    • value: any

    Returns string

  • Type Parameters

    • T = any
    • E = any

    Parameters

    Returns Promise<T>

  • Parameters

    • data: null

    Returns void

  • Parameters

    Returns string

Generated using TypeDoc