---
title: "Get staking transactions"
method: GET
path: "/v4/data/staking/native/transactions"
tags: ["Staking"]
---

# Get staking transactions

`GET /v4/data/staking/native/transactions`

/v4/data/staking/native/transactions

**100 credits per API call**

Get staking-related transactions for a Solana stake account or Ethereum withdrawal address. Returns deposits, topups, withdrawals, and credential changes.

**Response shape differs by chain:** Solana returns `stakeAddress` and transactions with `stakeAddress`/`validatorAddress`; Ethereum returns `withdrawalAddress` and transactions with `withdrawalAddress`/`validatorIndex`/`validatorPubkey`.

Supported blockchains:

*   Solana - solana-mainnet (create, stake, unstake, withdraw, split)
*   Ethereum - ethereum-mainnet (create=deposit, stake=topup, withdraw=withdrawal, credential\_change=BLS→execution change)

**Ethereum-specific:** For beacon-only events (withdrawals, credential\_change), `txHash` is a synthetic reference ID, not an on-chain execution transaction hash. `blockNumber` for credential\_change is the consensus slot. `amount` is in ETH. Results are limited to 100,000 transactions per request; use `type`, `timeFrom`/`timeTo`, or `epochFrom`/`epochTo` filters for addresses with more history.

To get started:

*   Provide a chain and stake address (Solana stake account or Ethereum withdrawal address). The API will return all staking-related transactions.
*   You can filter transactions by type using the `type` parameter. Chain-specific: Solana supports `create`, `stake`, `unstake`, `withdraw`, `split` (not credential\_change); Ethereum supports `create`, `stake`, `withdraw`, `credential_change` (not unstake, split). Using an unsupported type for a chain returns 400.
*   You can filter transactions by epoch range using `epochFrom` and `epochTo` parameters.
*   You can filter transactions by block range using `blockFrom` and `blockTo` parameters.
*   You can filter transactions by time range using `timeFrom` and `timeTo` parameters (ISO 8601 format).
*   You can filter transactions by unix timestamp range using `unixFrom` and `unixTo` parameters.
*   **Important:** You can only use one filter type at a time. Valid combinations: (epochFrom/epochTo), (blockFrom/blockTo), (timeFrom/timeTo), (unixFrom/unixTo). You cannot mix different types like epochFrom with blockTo.
*   Transactions are sorted by epoch in descending order (newest first).

## Query parameters

- `chain` 'solana-mainnet' | 'ethereum-mainnet', required
- `stakeAddress` string, required
- `type` 'create' | 'stake' | 'unstake' | 'withdraw' | 'split' | 'credential_change'
- `epochFrom` number
- `epochTo` number
- `blockFrom` number
- `blockTo` number
- `timeFrom` string, date-time
- `timeTo` string, date-time
- `unixFrom` number
- `unixTo` number

## Response `200`

OK

- union — Staking transactions response. Shape differs by chain (solana-mainnet vs ethereum-mainnet).
  - StakingTransactionsSolanaResponse — Response containing staking transactions for Solana.
    - `stakeAddress` string, required — The address queried (wallet address owning stake accounts).
    - `transactions` StakingTransactionSolana[], required — Array of staking transactions, sorted by epoch in descending order.
      - `txHash` string, required — Transaction hash.
      - `blockNumber` number, required — Solana slot.
      - `timestamp` number, required — Unix timestamp of the transaction.
      - `epoch` number, required — Epoch number when the transaction occurred.
      - `type` 'create' | 'stake' | 'unstake' | 'withdraw' | 'split', required — Transaction type. credential_change is not used for Solana.
      - `amount` string, required — Transaction amount in SOL.
      - `stakeAddress` string — Stake account address.
      - `validatorAddress` string — Validator vote account address (for delegate).
      - `fromStakeAccount` string — Source stake account (for split, merge).
      - `toStakeAccount` string — Destination stake account (for split, merge).
      - `from` string — Source address (for split, withdraw, merge transactions).
      - `to` string — Destination address (for split, withdraw, merge transactions).
      - `by` string — Authority address that performed the action (for stake, unstake, withdraw transactions).
  - StakingTransactionsEthereumResponse — Response containing staking transactions for Ethereum.
    - `withdrawalAddress` string, required — The withdrawal address queried (0x execution address).
    - `transactions` StakingTransactionEthereum[], required — Array of staking transactions, sorted by block timestamp in descending order.
      - `txHash` string, required — Transaction hash. For beacon-only events (withdrawal, credential_change), this is a synthetic reference ID, not an on-chain execution transaction hash.
      - `blockNumber` number, required — Execution block number or consensus slot for credential_change.
      - `timestamp` number, required — Unix timestamp of the transaction.
      - `epoch` number, required — Beacon chain epoch when the transaction occurred.
      - `type` 'create' | 'stake' | 'unstake' | 'withdraw' | 'split' | 'credential_change', required — Transaction type. credential_change = BLS→execution credential change (Ethereum only).
      - `amount` string, required — Transaction amount in ETH. credential_change has amount 0.
      - `withdrawalAddress` string, required — Execution address that receives withdrawals (0x...).
      - `validatorIndex` number — Beacon chain validator index.
      - `validatorPubkey` string, nullable — BLS public key of the validator (0x + 96 hex chars).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
