GoldRush's Transactions API and RPC providers both offer ways to access blockchain data, however, they take different approaches to do so.
GoldRush's Transactions API provides unified access to transaction data across multiple blockchains. It handles all the complexity of running nodes and indexing blockchain data so developers don't have to. The Transactions API allows querying transaction data through a simple REST (Representational State Transfer) API, returning consistent and structured JSON responses.
In contrast, RPC providers give access to blockchain nodes through a JSON-RPC interface, allowing RPC calls to retrieve data directly from the node. However, developers must set up and maintain their nodes or access these data through a node provider. Each blockchain has its own RPC interface, so developers must integrate it with multiple APIs. RPC providers also return unstructured data that requires processing.
While both provide blockchain data access, GoldRush's Transactions API takes a decentralized approach, simplifying access to transaction data across blockchains through a unified REST API and emphasizing ease of use. RPC providers offer a mix of centralized and decentralized methods (depending on the RPC provider’s structure) through lower-level JSON-RPC access that requires interacting directly with blockchain protocols.
This guide will do a deep dive comparing GoldRush's Transactions API and RPC providers across several factors like authentication, network support, data access, and more.
GoldRush’s Transactions API Overview
GoldRush's Transactions API provides easy and unified access to on-chain blockchain transaction data across multiple networks. It allows developers to build applications that need to read blockchain transaction data without running their node infrastructure.
The Transactions API has endpoints for accessing transaction data by address, hash, block height, and more. Some endpoints include:
Get a transaction
/v1/{chainName}/transaction_v2/{txHash}/
Commonly used to fetch and render a single transaction including its decoded log events.
Get paginated transactions for address (v3)
/v1/{chainName}/address/{walletAddress}/transactions_v3/page/{page}/
Commonly used to fetch the transactions involving an address including the decoded log events in a paginated fashion.
Get transaction summary for address
/v1/{chainName}/address/{walletAddress}/transactions_summary/
Commonly used to fetch the earliest and latest transactions, and the transaction count for a wallet. Calculate the age of the wallet and the time it has been idle and quickly gain insights into their engagement with web3.
The Transactions API handles all the underlying blockchain node infrastructure and data processing, so developers don't have to run their nodes. It provides a simple REST interface to query historical transaction data without needing to sync and index a full node.
Here's what it looks like in the browser:
Transaction Data Available on GoldRush
GoldRush offers various types of blockchain transaction data that cater to different application needs. Here are the types of transaction data accessible through GoldRush’s API:
Single Blockchain Transaction Information
Detailed data about individual transactions, including decoded log events, is essential for applications that need to display or analyze the specifics of a particular blockchain transaction.
The endpoint to retrieve this data is the endpoint obtained through the following structure: /v1/{chainName}/transaction_v2/{txHash}/
.
Decoded DEX Trades
GoldRush provides data on decentralized exchange (DEX) trades within the transactions API, decoding the details of trade pairs, amounts, and involved tokens, which is particularly useful for applications tracking liquidity or performing market analysis. The Decoded DEX trades can be included in a response by clicking the with-dex
checkmark in the endpoint.
NFT Sales Data
GoldRush enriches transaction data with specifics of NFT sales, including the NFT metadata and sale price. This data type is crucial for NFT marketplaces, analytics platforms, and wallet applications displaying NFT portfolios. You can include this data in your response by checking the with-nft-sales checkmark in the endpoint.
Lending and DeFi Activities
Details on DeFi lending activities captured within transactions, including lending amounts, platforms, and the assets involved. Applications focused on DeFi lending can leverage this data for risk assessment, yield analysis, and more. Your response can include this data by clicking the with-lending
checkmark in the endpoint.
Blockchain Interaction Summaries for Wallet Addresses
GoldRush can provide summarized views of all transactions associated with a given wallet address. This includes information on the first and last transaction, the total number of transactions, the wallet's age, the time it has been idle and active, and other aggregate data helpful in understanding a wallet's activity level.
The endpoint - is used to fetch this data.
Earliest and Recent Transactions
Applications that require a historical sequence of transactions or need to display the latest activity can rely on GoldRush to fetch the earliest or most recent transactions associated with a wallet. You can activate this data using the and endpoint.
Paginated Transaction Histories
For user-friendly presentation or deep analytical transaction-related works, GoldRush supports paginated access to transactions through the endpoint for user-friendly presentation or deep analytical transaction-related works. These data allow for efficient loading and analysis of large volumes of transaction data over time.
Transactions in a Time Bucket
GoldRush offers the capability to retrieve transactions within specific, concise time frames, providing snapshots of activity that can be essential for time-series analysis or event-driven research. It is commonly used to fetch all transactions, including their decoded log events, in a 15-minute time bucket interval and can be accessed using the .
All Transactions in a Block
GoldRush can fetch all transactions within a specified block for block-level analysis or monitoring. This endpoint’s data is essential for blockchain analytics, security auditing, and compliance monitoring. The fetches these data.
An example of a JSON response from a request using the endpoint (individual transaction details) is shown below:
{ "updated_at": "2024-04-20T05:46:49.095046803Z", "chain_id": 1, "chain_name": "eth-mainnet", "items": [ { "block_signed_at": "2024-04-20T05:39:47Z", "block_height": 19694600, "block_hash": "0x0e42ed6929ae5178e03ad73fec225dd0dceace864efda637a64b7d6074ab04bc", "tx_hash": "0x742b63cbe0d00b8ae8b34afe0668e0f934aa4470233408c7b1fd7aa9046c28ff", "tx_offset": 122, "successful": true, "miner_address": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", "from_address": "0xa83114a443da1cecefc50368531cace9f37fcccb", "from_address_label": null, "to_address": "0xa1959e227e26a1d218884c13d7b318d2061cfd95", "to_address_label": null, "value": "19777831881684279", "value_quote": 60.642703295461644, "pretty_value_quote": "$60.64", "gas_metadata": { "gas_offered": 21000, "gas_spent": 21000, "gas_price": 6751848438, "fees_paid": "141788817198000", "gas_quote": 0.4347522632101835, "pretty_gas_quote": "$0.43", "gas_quote_rate": 3066.1957113520225 }, "explorers": [ { "details": "... more explorer details ..." } ] } ], "pagination": null }
The example JSON data includes decoded log events of the transaction hash provided on the Ethereum mainnet. Here’s a breakdown of the key elements within this data set:
Block Details
Timestamp (block_signed_at):
"2024-04-20T05:39:47Z"
Block Height (block_height):
19694600
Block Hash (block_hash):
"0x0e42ed6929ae5178e03ad73fec225dd0dceace864efda637a64b7d6074ab04bc"
Transaction Identifier
Transaction Hash (tx_hash):
"0x742b63cbe0d00b8ae8b34afe0668e0f934aa4470233408c7b1fd7aa9046c28ff"
Transaction Index
Transaction Offset (tx_offset):
122
Transaction Success
Success Status (successful):
true
Transaction Parties
Miner’s Address (miner_address):
"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5"
Sender’s Address (from_address):
"0xa83114a443da1cecefc50368531cace9f37fcccb"
Recipient’s Address (to_address):
"0xa1959e227e26a1d218884c13d7b318d2061cfd95"
Value Transacted
Value in Wei (value):
"19777831881684279"
Value in Quote (value_quote and pretty_value_quote):
60.642703295461644
and"$60.64"
Gas Details
Gas Offered (gas_offered):
21000
Gas Spent (gas_spent):
21000
Gas Price in Wei (gas_price):
6751848438
Fees Paid in Wei (fees_paid):
"141788817198000"
Gas Cost in Quote (gas_quote and pretty_gas_quote):
0.4347522632101835
and"$0.43"
Gas Quote Rate (gas_quote_rate):
3066.1957113520225
Miscellaneous Details
Explorer Links (explorers): Additional details about links to external blockchain explorers, which can help obtain further information or validate the transaction. Here’s the Etherscan link for this transaction.
This structured presentation of transaction data by GoldRush offers a detailed view of blockchain events, highlighting the comprehensive nature of the data provided, which includes everything from transaction identifiers to detailed gas metrics and human-readable value representations. These decoded log events are crucial for developers needing to integrate complex blockchain data into applications or workflows straightforwardly and accurately.
RPC Providers Overview
RPC (Remote Procedure Call) providers allow applications to read and write the blockchain state and push transactions to the network without running a full node. They operate as servers that expose blockchain node functionality over HTTP and WebSocket APIs. They are gateways for applications to submit transactions, execute smart contract functions, and query blockchain data.
At a technical level, RPC providers operate nodes that fully synchronize with a blockchain network. The node software exposes an RPC interface that accepts requests as JSON-RPC commands. Developers can send requests to execute specific procedures like getting a block or account balance. The node processes the request and returns a JSON response.
Some of the most widely used RPC providers include:
Infura: Supports Ethereum, IPFS, and several other protocols. Provides scalable and reliable access through a hosted node cluster. Used by MetaMask, Coinbase Wallet, and other wallets and Dapps.
Ankr: a multi-chain infrastructure for accessing 40+ blockchain networks. It offers public RPC endpoints for chains like Ethereum, BNB Chain, Polygon, and more, along with customized solutions.
QuickNode: is focused on Ethereum, BSC, Polygon, Fantom, Avalanche, and other EVM-based chains. It is known for its speed and node uptime.
Moralis: provides free public nodes for popular chains and incorporates Web3 API and other blockchain developer tools.
Alchemy: a leading blockchain developer platform offering robust API access to Ethereum, Polygon, Arbitrum, Optimism, and other networks. It emphasizes enhanced functionality like archive data and enhanced APIs.
Side-by-Side Comparison of the GoldRush Transaction API And RPC Providers
Flexibility and Standardization in API Integration
GoldRush’s Standardized RESTful Access: GoldRush's Transaction API leverages a RESTful design, offering a clear, well-documented set of endpoints. This uniformity simplifies the process for developers to fetch transaction data, making it more accessible. The standardization across multiple blockchains reduces the learning curve and accelerates development cycles for applications requiring transactional data insights.
RPC Providers’ Customizable JSON-RPC Access: RPC providers operate using the JSON-RPC protocol, which can be more flexible but requires a greater understanding of the specific blockchain's implementation. Crafting individual JSON-RPC requests for different endpoints can introduce complexity in integration and require developers to manage various calls for other actions. Developers might find this model offers greater control but requires additional effort to adapt and manage across multiple blockchain environments.
Transaction Data Richness and Accessibility
GoldRush's Enhanced Data Depth and Simplicity: GoldRush offers profound insights into transaction data across chains. Users can seamlessly access a comprehensive suite of information encompassing historical transaction details, intricate token transfer breakdowns, and real-time wallet changes. This depth of data, available through straightforward API calls, facilitates an unparalleled ease of access. GoldRush consolidates these data points into a single response, streamlining the data retrieval and analysis. Whether tracing a token's journey across transactions or scrutinizing the minute details of wallet interactions, GoldRush's API delivers this information efficiently and comprehensively. An example of a response from a single API call from one of the transaction endpoints is shown above.
RPC Providers’ Complexities of Data Retrieval: In contrast, leveraging RPC providers for equivalent transactional insights often entails navigating a labyrinth of complex queries or initiating multiple API calls. The necessity for such an approach primarily stems from the narrower focus and varied capabilities of different RPC providers. Each network or provider may require a unique approach to data access, resulting in a patchwork of calls and queries that developers must orchestrate to glean similar insights. The process can become cumbersome, especially concerning historical transaction data or complex token transfer details, demanding additional logic and handling to aggregate and interpret the data comparably.
Granularity and Filtering
The Transactions API provides granular filtering and data access through query parameters. Users can filter and access transaction data in multiple ways:
Multi-Token Transaction Queries
When analyzing or tracking transactions involving multiple token standards, such as ERC-20 (fungible tokens) and ERC-721 (non-fungible tokens or NFTs), the differences in support between GoldRush's Transaction API and generic RPC providers become notably evident.
GoldRush's Mult-token Framework: GoldRush's transaction API is designed with a multi-token framework in mind, capable of handling queries across various token types within a single API call. This design offers a significant efficiency and ease of use advantage for developers or analysts looking to aggregate or assess transaction data involving different token standards. A single query can return a comprehensive dataset that includes transactions of ERC-20 tokens, ERC-721 tokens, and potentially others like ERC-1155 without filtering and pulling this data separately. This approach not only saves on the number of API calls made but also reduces the complexity of the data aggregation process, allowing for a more streamlined analysis of token dynamics across the board.
RPC Providers’ Generic Endpoints: RPC providers typically offer more generic endpoints for querying blockchain data, which can require separate queries for each token standard. This means that to achieve a similar dataset provided by GoldRush's Transaction API, one must make multiple API calls: one for ERC-20 transaction data, another for ERC-721, and so on. Each query would then return data specific to that token standard, requiring manual aggregation and processing to view an address's or transaction's multi-token activities comprehensively. This process is more cumbersome and increases the load on the system, making the queries, potentially leading to more significant latency and higher computational costs.
Query Comparison
To get the same data from RPC providers that GoldRush returns with one endpoint, a developer would need to follow these steps:
Combining the GoldRush Transaction API and RPC Providers
Integrating the GoldRush Transaction API with RPC providers grants developers a nuanced toolkit for blockchain data management—each complementing the other's capabilities.
Direct Control via RPC: RPC providers maintain transactional integrity and detailed blockchain queries first-hand, which is essential for nuanced operations.
Aggregated Data via GoldRush: GoldRush's API abstracts the complexity of individual transactions across multiple tokens and contracts, presenting them in an accessible format.
How They Work Together
Interpreting Complex Data: GoldRush simplifies the interpretation of aggregated transaction data, leaving the complex, lower-level querying to RPC.
Enhanced Query Efficiency: By reducing the volume of RPC calls needed, GoldRush's aggregated responses improve overall efficiency.
Streamlined Development
Focus on Innovation: Developers can innovate at the application level without getting bogged down by the intricacies of data gathering.
Scalable Infrastructure: The combined power of GoldRush API's caching and RPC's direct call capabilities ensures scalability even during heavy load periods.
Key Benefits
Reduced Complexity: GoldRush's API mitigates the complexity of handling data from different token standards and contracts, which is usually a painstaking task with RPCs alone.
Improved Performance: Leveraging GoldRush's single call structure instead of multiple RPC calls achieves bandwidth savings and faster response times.
Enhanced Data Accessibility: GoldRush API provides a harmonized data layer, enabling easy access to cross-token and cross-contract transactional information.
Conclusion
GoldRush's Transactions API and RPC providers offer distinct advantages for accessing blockchain data. GoldRush's API simplifies data access, provides rich insights, and ensures scalability, making it valuable for developers. RPC providers offer direct control but require more effort and customization. Combining GoldRush's API with RPC providers streamlines development, enhances data accessibility, and empowers developers to innovate efficiently. GoldRush's transparent pricing and scalable plans make it an attractive choice for developers, balancing ease of use with customizability.