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

# RPC API Reference

> Complete reference for StableNet JSON-RPC namespaces, methods, and event subscriptions.

> All JSON-RPC methods available on StableNet nodes, organized by namespace.

## Connection Endpoints

| Transport | URL                                   |
| --------- | ------------------------------------- |
| HTTP RPC  | `https://api.test.stablenet.network`  |
| WebSocket | `wss://api.test.stablenet.network/ws` |

WebSocket is required for `eth_subscribe` methods.

## eth Namespace

### Network and Fees

| Method                     | Description                                            |
| -------------------------- | ------------------------------------------------------ |
| `eth_chainId`              | Returns the chain ID                                   |
| `eth_gasPrice`             | Returns gas price for legacy transactions              |
| `eth_maxPriorityFeePerGas` | Returns priority fee enforced by GovValidator contract |
| `eth_feeHistory`           | Returns historical fee data                            |
| `eth_syncing`              | Returns node synchronization status                    |

> In StableNet with Anzeon WBFT enabled, `eth_maxPriorityFeePerGas` returns the gas tip value set by the GovValidator contract — not an oracle estimate.

### Blocks and State

| Method                      | Description                                  |
| --------------------------- | -------------------------------------------- |
| `eth_blockNumber`           | Returns current block number                 |
| `eth_getBalance`            | Returns account balance                      |
| `eth_getCode`               | Returns contract bytecode                    |
| `eth_getStorageAt`          | Returns a specific storage slot value        |
| `eth_getProof`              | Returns Merkle proof for account and storage |
| `eth_getBlockByNumber`      | Returns a block by number                    |
| `eth_getBlockByHash`        | Returns a block by hash                      |
| `eth_getTransactionByHash`  | Returns a transaction by hash                |
| `eth_getTransactionReceipt` | Returns a transaction receipt                |

### Transactions

| Method                   | Description                                                 |
| ------------------------ | ----------------------------------------------------------- |
| `eth_sendTransaction`    | Signs and submits a transaction (requires unlocked account) |
| `eth_sendRawTransaction` | Submits a pre-signed transaction                            |
| `eth_signTransaction`    | Signs a transaction without submitting                      |
| `eth_fillTransaction`    | Fills missing default fields in a transaction               |
| `eth_estimateGas`        | Estimates gas required for a transaction                    |
| `eth_call`               | Executes a read-only call without state changes             |

### Fee Delegation Extensions

StableNet extends the standard API with fee delegation signing methods.

| Method                                   | Description                                                 |
| ---------------------------------------- | ----------------------------------------------------------- |
| `personal_signRawFeeDelegateTransaction` | Appends fee-payer signature using password-unlocked account |
| `eth_signRawFeeDelegateTransaction`      | Appends fee-payer signature using already-unlocked account  |

Submit the resulting signed transaction via `eth_sendRawTransaction`. Gas costs are charged to the fee payer.

## eth Filter Methods

### Polling-Based Filters

| Method                            | Returns       | Description                                    |
| --------------------------------- | ------------- | ---------------------------------------------- |
| `eth_newFilter`                   | Filter ID     | Creates a log filter with specified criteria   |
| `eth_newBlockFilter`              | Filter ID     | Creates a filter for new block hashes          |
| `eth_newPendingTransactionFilter` | Filter ID     | Creates a filter for pending transactions      |
| `eth_getFilterChanges`            | Logs / Hashes | Returns changes since last poll                |
| `eth_getFilterLogs`               | Logs array    | Returns all logs matching the filter           |
| `eth_getLogs`                     | Logs array    | One-time log query without a persistent filter |
| `eth_uninstallFilter`             | Boolean       | Removes a filter                               |

Polling filters expire after **5 minutes** of inactivity. Each `eth_getFilterChanges` call resets the timer.

### WebSocket Subscriptions

| Method                                    | Event Type   | Description                        |
| ----------------------------------------- | ------------ | ---------------------------------- |
| `eth_subscribe("newHeads")`               | Block header | Fires on each new block            |
| `eth_subscribe("logs", criteria)`         | Log          | Fires for logs matching criteria   |
| `eth_subscribe("newPendingTransactions")` | Tx hash      | Fires for each pending transaction |
| `eth_unsubscribe`                         | Boolean      | Cancels a subscription             |

**FilterCriteria fields for log subscriptions:**

| Field       | Type                        | Description                                                |
| ----------- | --------------------------- | ---------------------------------------------------------- |
| `fromBlock` | `string` (block tag or hex) | Start block (`null` = latest)                              |
| `toBlock`   | `string` (block tag or hex) | End block (`null` = latest)                                |
| `address`   | `string \| string[]`        | Contract address(es) to filter                             |
| `topics`    | `string[][]`                | Topic filters (AND across positions, OR within a position) |

Topic matching: up to 4 positions; `null` at a position matches any value.

## txpool Namespace

| Method               | Description                                     |
| -------------------- | ----------------------------------------------- |
| `txpool_content`     | Lists all pending and queued transactions       |
| `txpool_contentFrom` | Lists transactions from a specific address      |
| `txpool_status`      | Returns pending/queued counts                   |
| `txpool_inspect`     | Returns human-readable transaction pool summary |

**Transaction states:**

* **pending** — eligible for inclusion in the next block
* **queued** — waiting due to nonce gaps or insufficient balance

## web3 Namespace

| Method               | Description                                |
| -------------------- | ------------------------------------------ |
| `web3_clientVersion` | Returns the node client version string     |
| `web3_sha3`          | Computes the Keccak-256 hash of input data |

## istanbul Namespace

Available only when Anzeon WBFT consensus is active.

| Method                                     | Description                                            |
| ------------------------------------------ | ------------------------------------------------------ |
| `istanbul_nodeAddress`                     | Returns the signer node address                        |
| `istanbul_getCommitSignersFromBlock`       | Returns proposer and commit signers for a block number |
| `istanbul_getCommitSignersFromBlockByHash` | Returns signers for a block hash                       |
| `istanbul_getValidators`                   | Returns the current validator list                     |
| `istanbul_getValidatorsAtHash`             | Returns validators at a specific block hash            |
| `istanbul_status`                          | Returns round and sealer statistics                    |

## personal Namespace

`personal` is **disabled on public RPC endpoints**. Available on local nodes only.

| Method                     | Description                                  |
| -------------------------- | -------------------------------------------- |
| `personal_newAccount`      | Creates a new account                        |
| `personal_listAccounts`    | Lists managed accounts                       |
| `personal_unlockAccount`   | Unlocks an account with password             |
| `personal_lockAccount`     | Locks an account                             |
| `personal_sendTransaction` | Signs and sends a transaction using password |
| `personal_signTransaction` | Signs a transaction using password           |
| `personal_sign`            | Signs arbitrary data using password          |
| `personal_importRawKey`    | Imports a private key                        |

## Related

* [Connect to StableNet](/en/v0.3/connect-to-stablenet) — RPC endpoint setup
* [Fee Delegation Use Case](/en/v0.3/fee-delegation) — Fee Delegation workflow
