<!-- Source: https://docs.paxeer.app/json-rpc-unsupported/ -->

# Unsupported JSON-RPC Methods

Ethereum JSON-RPC methods that are explicitly unsupported on Paxeer EVM.

**Source:** `rpc/info.go`, `rpc/filter.go`, `rpc/tracers.go`, `rpc/state.go` and `rpc/tx.go` in the Paxeer node source.

## Overview

Some Ethereum JSON-RPC methods are **registered** on Paxeer's EVM endpoint but return a **JSON-RPC error** instead of a result. This gives clients and tools a stable, documented failure (code `-32000`) rather than "method not found" (`-32601`).

## Explicitly Unsupported Methods

| Method | Typical Error Message | Reason |
| --- | --- | --- |
| `eth_blobBaseFee` | "blobs not supported on this chain" | EIP-4844 blob transactions not supported |
| `eth_syncing` | "eth_syncing is not supported on Pax EVM RPC" | Consensus model differs from Ethereum sync semantics |
| `eth_newPendingTransactionFilter` | "eth_newPendingTransactionFilter is not supported on Pax EVM RPC" | This pending-transaction filter is not implemented |
| `debug_getRawBlock` | "debug_getRawBlock is not supported on Pax EVM RPC" | Raw RLP block payloads not served |
| `debug_getRawHeader` | "debug_getRawHeader is not supported on Pax EVM RPC" | Raw RLP header payloads not served |
| `debug_getRawReceipts` | "debug_getRawReceipts is not supported on Pax EVM RPC" | Raw RLP receipt payloads not served |
| `debug_getRawTransaction` | "debug_getRawTransaction is not supported on Pax EVM RPC" | Raw RLP transaction payloads not served |

## Error Response Format

Unsupported methods return a standard JSON-RPC error:

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32000,
    "message": "blobs not supported on this chain"
  }
}
```

## Behavior Notes

### eth_syncing

Paxeer's BFT consensus model differs fundamentally from Ethereum's sync semantics. Callers should not rely on this method to determine node sync status.

### eth_newPendingTransactionFilter

This filter is unavailable, but that does not mean submitted transactions cannot be pending. The node tracks pending nonces, and `eth_getTransactionCount(address, "pending")` uses the local pending nonce or forwards the request to the appropriate EVM proxy.

### debug_getRaw* Methods

Raw RLP-encoded block, header, receipt, and transaction payloads are not served on this RPC surface. Use the standard `eth_*` endpoints which return structured JSON.

### eth_blobBaseFee

The current implementation rejects EIP-4844 blob transactions in transaction admission. The blob fee RPC returns the explicit unsupported error shown above.

## Broader Compatibility Notes

Beyond explicitly unsupported methods, Paxeer's RPC diverges from Ethereum in several conceptual areas:

### Block Tags and Pending Nonces

- Block-number helpers resolve `latest`, `safe`, `finalized` and `pending` to the latest height; endpoint watermarks can further limit the readable state.

- Pending nonce queries have a separate path. Do not assume `pending` and `latest` return the same nonce.

- A BFT commit provides finality under the consensus protocol’s assumptions. RPC freshness and finality are separate properties.

### Storage Proofs Use a Different Format

- `eth_getProof` is implemented by `StateAPI.GetProof`.

- Its result contains `address`, `hexValues` and `storageProof`. Storage proofs contain IAVL proof operations rather than Ethereum Merkle Patricia trie proofs.

- The response excludes Ethereum per-account proof fields because the store has no Ethereum per-account root. Ethereum proof verifiers cannot consume this response unchanged.

- The requested height must be readable and the configured store must support proof queries. Historical retention and endpoint availability still apply.

### No Proof-of-Work

- `eth_mining` and `eth_hashrate` are not supported

- Paxeer uses BFT consensus, not PoW

See [JSON-RPC API](https://docs.paxeer.app/json-rpc) for full compatibility details.

## Implementation Checks

The node repository contains focused checks for these RPC contracts:

```
rpc/info_test.go
rpc/state_test.go
rpc/tracers_test.go
rpc/filter_test.go
```

For provider-specific method support, check the endpoint configuration and inspect the JSON-RPC result or error returned by each request.
