## Overview The [[ZKP/ZKP Testnet/Overview|ZKP Testnet]] supports the standard **Substrate JSON-RPC** interface as well as Ethereum-compatible RPC methods (via the [[EVM Integration|EVM]] pallet). This allows developers to: - Query blocks and chain state - Check account balances - Send transactions - [[Smart Contract Example - Hello World on ZKP|Interact with smart contracts]] πŸ“ **RPC Endpoint:** ``` https://rpc.testnet.zkp.com ``` Full Substrate RPC reference: [Polkadot.js RPC Docs](https://polkadot.js.org/docs/substrate/rpc/) ⚠️ Note: Some RPC namespaces listed in the official docs may not be active in the ZKP Testnet. --- ## Quick Start Verify the connection to the testnet by calling the latest block: ```bash curl -H "Content-Type: application/json" \ -d '{"id":1, "jsonrpc":"2.0", "method":"chain_getBlock", "params":[]}' \ https://rpc.testnet.zkp.com ``` Example response: ```json { "jsonrpc": "2.0", "result": { "block": { "header": { "number": "0x12345", "parentHash": "0x...", "stateRoot": "0x...", "extrinsicsRoot": "0x..." }, "extrinsics": ["0x..."] } }, "id": 1 } ``` --- ## Stable Methods in ZKP Testnet **System** - `system_health` β†’ Node health status - `system_chain` β†’ Network name - `system_version` β†’ Client version **Chain** - `chain_getBlock` β†’ Retrieve block - `chain_getBlockHash` β†’ Block hash by number - `chain_getHeader` β†’ Block header **Author (Transactions)** - `author_submitExtrinsic` β†’ Submit transaction **Ethereum RPC (EVM compatibility)** - `eth_blockNumber` β†’ Current block number - `eth_getBalance` β†’ Account balance - `eth_sendRawTransaction` β†’ Send signed transaction --- ## Notes - For the **complete list of methods**, see the [Polkadot.js RPC Reference](https://polkadot.js.org/docs/substrate/rpc/). - Some methods are only available with specific node flags (*unsafe*). See also: [[Testnet Limitations]]