> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_getTransactionBySenderAndNonce | Hyperliquid EVM

> Reference docs for the eth_getTransactionBySenderAndNonce JSON-RPC method on the Hyperliquid EVM blockchain, available via Chainstack JSON-RPC nodes.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `eth_getTransactionBySenderAndNonce` JSON-RPC method retrieves transaction information by specifying the sender address and transaction nonce on the Hyperliquid EVM blockchain. This method is particularly useful for tracking specific transactions when you know the sender and the sequence number of their transaction.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## Parameters

The method accepts two parameters:

1. **Sender address** (string, required) — The address of the transaction sender
2. **Nonce** (string, required) — The transaction nonce as a hexadecimal string

### Parameter details

* `address` — The Ethereum address that sent the transaction
* `nonce` — The transaction sequence number for the sender, in hexadecimal format with "0x" prefix

## Response

The method returns detailed transaction information if found, or `null` if no transaction exists for the specified sender and nonce.

### Response structure

**Transaction object (if found):**

* `blockHash` — Hash of the block containing the transaction
* `blockNumber` — Block number containing the transaction (hexadecimal)
* `from` — Address of the transaction sender
* `gas` — Gas limit provided for the transaction (hexadecimal)
* `gasPrice` — Gas price used for the transaction (hexadecimal)
* `hash` — Transaction hash
* `input` — Transaction data payload
* `nonce` — Transaction nonce (hexadecimal)
* `to` — Address of the transaction recipient
* `transactionIndex` — Position of transaction in the block (hexadecimal)
* `value` — Value transferred in the transaction (hexadecimal, in wei)
* `type` — Transaction type (hexadecimal)
* `v`, `r`, `s` — Transaction signature components

**Null response:**

* Returns `null` if no transaction is found for the specified sender and nonce

## Usage example

### Basic transaction lookup

```javascript theme={"system"}
// Get transaction by sender and nonce
const getTransactionBySenderAndNonce = async (sender, nonce) => {
  const response = await fetch('https://hyperliquid-mainnet.core.chainstack.com/YOUR_ENDPOINT/evm', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      jsonrpc: '2.0',
      method: 'eth_getTransactionBySenderAndNonce',
      params: [sender, nonce],
      id: 1
    })
  });
  
  const data = await response.json();
  return data.result;
};

// Track user transactions by nonce
const trackUserTransactions = async (userAddress, startNonce = 0, count = 10) => {
  const transactions = [];
  
  for (let i = 0; i < count; i++) {
    const nonce = `0x${(startNonce + i).toString(16)}`;
    try {
      const tx = await getTransactionBySenderAndNonce(userAddress, nonce);
      if (tx) {
        transactions.push({
          nonce: parseInt(tx.nonce, 16),
          hash: tx.hash,
          blockNumber: parseInt(tx.blockNumber, 16),
          value: BigInt(tx.value).toString(),
          gasUsed: BigInt(tx.gas).toString(),
          to: tx.to
        });
      } else {
        // No more transactions found
        break;
      }
    } catch (error) {
      console.error(`Error fetching transaction for nonce ${nonce}:`, error);
      break;
    }
  }
  
  return transactions;
};

// Find pending transaction by nonce
const findPendingTransaction = async (sender, nonce) => {
  const tx = await getTransactionBySenderAndNonce(sender, nonce);
  
  if (!tx) {
    return { status: 'not_found', message: 'Transaction not found' };
  }
  
  if (!tx.blockNumber) {
    return { status: 'pending', transaction: tx };
  }
  
  return { status: 'confirmed', transaction: tx };
};

// Usage examples
const sender = "0x69835D480110e4919B7899f465aAB101e21c8A87";
const nonce = "0x0";

getTransactionBySenderAndNonce(sender, nonce).then(tx => {
  if (tx) {
    console.log('Transaction found:', tx.hash);
    console.log('Block number:', parseInt(tx.blockNumber, 16));
    console.log('Value:', BigInt(tx.value).toString(), 'wei');
  } else {
    console.log('No transaction found for sender and nonce');
  }
});
```

## Example request

```shell Shell theme={"system"}
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getTransactionBySenderAndNonce",
    "params": [
      "0x69835D480110e4919B7899f465aAB101e21c8A87",
      "0x0"
    ],
    "id": 1
  }' \
  https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm
```

## Use cases

The `eth_getTransactionBySenderAndNonce` method is essential for applications that need to:

* **Transaction tracking**: Track specific transactions by sender and sequence number
* **Nonce management**: Implement robust nonce management and transaction sequencing
* **Wallet applications**: Build wallet interfaces that track user transaction history
* **Pending transaction monitoring**: Monitor pending transactions and detect stuck transactions
* **Transaction replacement**: Implement transaction replacement and speed-up mechanisms
* **Account analysis**: Analyze account transaction patterns and behavior
* **Debugging tools**: Debug transaction issues and investigate failed transactions
* **DeFi protocols**: Track protocol interactions and user transaction sequences
* **MEV protection**: Detect and prevent MEV attacks by monitoring transaction sequences
* **Audit tools**: Build audit tools that trace transaction flows and account activity
* **Analytics platforms**: Create analytics dashboards that track user transaction patterns
* **Risk management**: Implement risk management systems that monitor transaction behavior
* **Compliance monitoring**: Monitor transactions for compliance and regulatory requirements
* **Trading bots**: Implement trading bots that track their own transaction sequences
* **Arbitrage strategies**: Monitor arbitrage transaction sequences and timing
* **Cross-chain bridges**: Track cross-chain transaction sequences and confirmations
* **Oracle services**: Monitor oracle transaction sequences and data submission patterns
* **Gaming applications**: Track gaming transaction sequences and player interactions
* **NFT platforms**: Monitor NFT transaction sequences and trading patterns
* **Social recovery**: Implement social recovery mechanisms based on transaction patterns
* **Security monitoring**: Detect suspicious transaction patterns and potential attacks
* **Performance optimization**: Optimize transaction submission and nonce management
* **Development frameworks**: Build development tools with transaction tracking capabilities
* **Testing suites**: Create comprehensive testing suites for transaction scenarios

This method provides precise transaction lookup capabilities, enabling efficient transaction management and monitoring on the Hyperliquid EVM platform.


## OpenAPI

````yaml /openapi/hyperliquid_node_api/evm_eth_get_transaction_by_sender_and_nonce.json post /evm
openapi: 3.0.0
info:
  title: Hyperliquid EVM API - eth_getTransactionBySenderAndNonce
  version: 1.0.0
servers:
  - url: >-
      https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274
security: []
paths:
  /evm:
    post:
      summary: eth_getTransactionBySenderAndNonce
      description: >-
        Returns transaction information for a specific sender address and nonce.
        This method is useful for tracking transactions when you know the sender
        and the sequence number of their transaction.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - method
                - params
                - id
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  default: '2.0'
                  description: JSON-RPC version
                method:
                  type: string
                  enum:
                    - eth_getTransactionBySenderAndNonce
                  default: eth_getTransactionBySenderAndNonce
                  description: The RPC method name
                params:
                  type: array
                  description: 'Parameters: [sender_address, nonce]'
                  default:
                    - '0x69835D480110e4919B7899f465aAB101e21c8A87'
                    - '0x0'
                id:
                  type: integer
                  default: 1
                  description: Request identifier
            example:
              jsonrpc: '2.0'
              method: eth_getTransactionBySenderAndNonce
              params:
                - '0x69835D480110e4919B7899f465aAB101e21c8A87'
                - '0x0'
              id: 1
      responses:
        '200':
          description: >-
            Successful response with transaction information or null if not
            found
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: JSON-RPC version
                  id:
                    type: integer
                    description: Request identifier
                  result:
                    type: object
                    description: Transaction object or null if not found
                    nullable: true
                    properties:
                      blockHash:
                        type: string
                        description: Hash of the block containing the transaction
                      blockNumber:
                        type: string
                        description: Block number containing the transaction (hexadecimal)
                      from:
                        type: string
                        description: Address of the transaction sender
                      gas:
                        type: string
                        description: Gas limit provided for the transaction (hexadecimal)
                      gasPrice:
                        type: string
                        description: Gas price used for the transaction (hexadecimal)
                      hash:
                        type: string
                        description: Transaction hash
                      input:
                        type: string
                        description: Transaction data payload
                      nonce:
                        type: string
                        description: Transaction nonce (hexadecimal)
                      to:
                        type: string
                        description: Address of the transaction recipient
                      transactionIndex:
                        type: string
                        description: Position of transaction in the block (hexadecimal)
                      value:
                        type: string
                        description: >-
                          Value transferred in the transaction (hexadecimal, in
                          wei)
                      type:
                        type: string
                        description: Transaction type (hexadecimal)
                      v:
                        type: string
                        description: Transaction signature v component
                      r:
                        type: string
                        description: Transaction signature r component
                      s:
                        type: string
                        description: Transaction signature s component
              example:
                jsonrpc: '2.0'
                id: 1
                result:
                  blockHash: >-
                    0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2
                  blockNumber: '0x5daf3b'
                  from: '0x69835d480110e4919b7899f465aab101e21c8a87'
                  gas: '0x5208'
                  gasPrice: '0x9184e72a000'
                  hash: >-
                    0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b
                  input: 0x
                  nonce: '0x0'
                  to: '0xb4dcfe4590adbd275ac3ef1a3dd10e819d11648c'
                  transactionIndex: '0x41'
                  value: '0xde0b6b3a7640000'
                  type: '0x0'
                  v: '0x25'
                  r: '0xc9e1f8a5b3e0d2f7a4b5c3d8e9f6a2b1c4d7e8f9'
                  s: '0xa2b1c4d7e8f9c9e1f8a5b3e0d2f7a4b5c3d8e9f6'

````