# Starknet Documentation > STARK-based ZK rollup with Cairo smart contracts. Node API, Trace, WebSocket subscriptions, and Pathfinder-specific methods. - [Quicknode Starknet RPC Overview](https://www.quicknode.com/docs/starknet.md): Get started with Starknet RPC on Quicknode. Access reliable, low-latency blockchain infrastructure with globally distributed endpoints for seamless development. ## Making API Requests - [Starknet QuickStart](https://www.quicknode.com/docs/starknet/quickstart.md): Get started with Starknet RPC on Quicknode. Follow this QuickStart to get up and running with your own Quicknode endpoint and making your first API request to the Starknet blockchain. - [Starknet API Endpoints](https://www.quicknode.com/docs/starknet/endpoints.md): Learn how to use Starknet RPC endpoints, make API requests, and handle responses with Quicknode. - [Starknet Endpoint Security](https://www.quicknode.com/docs/starknet/endpoint-security.md): Learn about endpoint security options and how to set up a Quicknode Starknet RPC endpoint for optimal performance and security. - [Starknet Error Code Reference](https://www.quicknode.com/docs/starknet/error-references.md): Learn about Starknet error codes, including HTTP, JSON-RPC, and Quicknode's own custom error codes. ## API Reference - [Starknet API Overview](https://www.quicknode.com/docs/starknet/api-overview.md): Overview of supported Starknet APIs, networks and supported products on Quicknode. ## Node API - [starknet_specVersion RPC Method](https://www.quicknode.com/docs/starknet/starknet_specVersion.md): Return the active version of the Starknet JSON-RPC specification in use. - [starknet_getBlockWithTxHashes RPC Method](https://www.quicknode.com/docs/starknet/starknet_getBlockWithTxHashes.md): Return block information, including transaction hashes, for the specified block ID. - [starknet_getBlockWithTxs RPC Method](https://www.quicknode.com/docs/starknet/starknet_getBlockWithTxs.md): Return detailed block information, including full transaction data, based on the provided block ID. - [starknet_getBlockWithReceipts RPC Method](https://www.quicknode.com/docs/starknet/starknet_getBlockWithReceipts.md): Returns detailed block information, including full transactions and receipts, corresponding to the provided block ID. - [starknet_getStateUpdate RPC Method](https://www.quicknode.com/docs/starknet/starknet_getStateUpdate.md): Get the information about the result of executing the requested block. - [starknet_getStorageAt RPC Method](https://www.quicknode.com/docs/starknet/starknet_getStorageAt.md): Get the information about the result of executing the requested block. - [starknet_getTransactionStatus RPC Method](https://www.quicknode.com/docs/starknet/starknet_getTransactionStatus.md): Gets the transaction status (possibly reflecting that the tx is still in the mempool, or dropped from it). - [starknet_getTransactionByHash RPC Method](https://www.quicknode.com/docs/starknet/starknet_getTransactionByHash.md): Return the details and status of a submitted transaction. - [starknet_getTransactionByBlockIdAndIndex RPC Method](https://www.quicknode.com/docs/starknet/starknet_getTransactionByBlockIdAndIndex.md): Returns the details of a transaction by a given block id and index. If no transaction is found, null is returned. - [starknet_getTransactionReceipt RPC Method](https://www.quicknode.com/docs/starknet/starknet_getTransactionReceipt.md): Returns the transaction receipt by the transaction hash. - [starknet_getClass RPC Method](https://www.quicknode.com/docs/starknet/starknet_getClass.md): Get the contract class definition in the given block associated with the given hash. - [starknet_getClassHashAt RPC Method](https://www.quicknode.com/docs/starknet/starknet_getClassHashAt.md): Get the contract class hash in the given block for the contract deployed at the given address. - [starknet_getClassAt RPC Method](https://www.quicknode.com/docs/starknet/starknet_getClassAt.md): Get the contract class definition in the given block at the given address. - [starknet_getBlockTransactionCount RPC Method](https://www.quicknode.com/docs/starknet/starknet_getBlockTransactionCount.md): Get the number of transactions in a block given a block id. - [starknet_call RPC Method](https://www.quicknode.com/docs/starknet/starknet_call.md): Calls a function in a contract and returns the return value. Using this call will not create a transaction; hence, will not change the state. - [starknet_estimateFee RPC Method](https://www.quicknode.com/docs/starknet/starknet_estimateFee.md): Estimates the resources required by a given sequence of transactions when applied on a given state. If one of the transactions reverts or fails due to any reason (e.g. validation failure or an internal error), a TRANSACTION_EXECUTION_ERROR is returned. For v0-2 transactions the estimate is given in wei, and for v3 transactions it is given in fri. - [starknet_estimateMessageFee RPC Method](https://www.quicknode.com/docs/starknet/starknet_estimateMessageFee.md): Estimates the resources required by the l1_handler transaction induced by the message. - [starknet_blockNumber RPC Method](https://www.quicknode.com/docs/starknet/starknet_blockNumber.md): Get the contract class definition in the given block associated with the given hash. - [starknet_blockHashAndNumber RPC Method](https://www.quicknode.com/docs/starknet/starknet_blockHashAndNumber.md): Get the most recent accepted block hash and number. - [starknet_chainId RPC Method](https://www.quicknode.com/docs/starknet/starknet_chainId.md): Return the currently configured StarkNet chain id. - [starknet_syncing RPC Method](https://www.quicknode.com/docs/starknet/starknet_syncing.md): Returns an object about the sync status, or false if the node is not synching. - [starknet_getEvents RPC Method](https://www.quicknode.com/docs/starknet/starknet_getEvents.md): Returns all event objects matching the conditions in the provided filter. - [starknet_getNonce RPC Method](https://www.quicknode.com/docs/starknet/starknet_getNonce.md): Get the nonce associated with the given address in the given block. ## Trace API - [starknet_traceTransaction RPC Method](https://www.quicknode.com/docs/starknet/starknet_traceTransaction.md): Returns the execution trace of the transaction designated by the input hash. - [starknet_simulateTransactions RPC Method](https://www.quicknode.com/docs/starknet/starknet_simulateTransactions.md): Simulate a given sequence of transactions on the requested state, and generate the execution traces. - [starknet_traceBlockTransactions RPC Method](https://www.quicknode.com/docs/starknet/starknet_traceBlockTransactions.md): Returns the execution traces of all transactions included in the given block. ## Node Write API - [starknet_addInvokeTransaction RPC Method](https://www.quicknode.com/docs/starknet/starknet_addInvokeTransaction.md): Submit a new transaction to be added to the chain. - [starknet_addDeclareTransaction RPC Method](https://www.quicknode.com/docs/starknet/starknet_addDeclareTransaction.md): Submit a new class declaration transaction. - [starknet_addDeployAccountTransaction RPC Method](https://www.quicknode.com/docs/starknet/starknet_addDeployAccountTransaction.md): Submit a new deploy account transaction. ## Pathfinder RPC API - [pathfinder_version RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_version.md): Return the version of the pathfinder node hosting this API. - [pathfinder_getProof RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_getProof.md): Returns merkle proofs for a contract's storage. This allows you to verify a contract's state for a specific Starknet block. - [pathfinder_getTransactionStatus RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_getTransactionStatus.md): Returns a transaction's current status, including if it has been rejected by the sequencer. - [pathfinder_lastL1AcceptedBlockHashAndNumber RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_lastL1AcceptedBlockHashAndNumber.md): Returns the hash and number of the most recent Starknet block that has been accepted (finalized) on Ethereum L1. ## Pathfinder Websocket RPC API - [pathfinder_subscribe RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_subscribe.md): Open a new websocket subscription. - [pathfinder_unsubscribe RPC Method](https://www.quicknode.com/docs/starknet/pathfinder_unsubscribe.md): Closes a websocket subscription. ## WebSocket RPC API - [starknet_subscribeEvents RPC Method](https://www.quicknode.com/docs/starknet/starknet_subscribeEvents.md): Creates a WebSocket stream which will fire events for new Starknet events with applied filters. - [starknet_subscribeNewHeads RPC Method](https://www.quicknode.com/docs/starknet/starknet_subscribeNewHeads.md): Creates a WebSocket stream which will fire events for new block headers. - [starknet_subscribePendingTransactions RPC Method](https://www.quicknode.com/docs/starknet/starknet_subscribePendingTransactions.md): Creates a WebSocket stream which will fire events when a new pending transaction is added. While there is no mempool, this notifies of transactions in the pending block. - [starknet_subscribeTransactionStatus RPC Method](https://www.quicknode.com/docs/starknet/starknet_subscribeTransactionStatus.md): Creates a WebSocket stream which at first fires an event with the current known transaction status, followed by events for every transaction status update. - [starknet_unsubscribe RPC Method](https://www.quicknode.com/docs/starknet/starknet_unsubscribe.md): Close a previously opened ws stream, with the corresponding subscription id. ## Marketplace - [Supported Marketplace Add-Ons for Starknet](https://www.quicknode.com/docs/starknet/marketplace-addons.md): Learn about the Quicknode Marketplace and how to utilize Marketplace Add-ons on Starknet.