Skip to main content

Overview

Provides historical transaction data from BigQuery for a given Cronos address. Resource URI: cronos://history/{address}

URI Parameters

address
string
required
Ethereum address (0x… format)

Response Format

Returns both JSON and Markdown representations of transaction history.

JSON Response

{
  "address": "0x123...",
  "transaction_count": 150,
  "transactions": [
    {
      "block_timestamp": "2026-01-23T03:11:54.000Z",
      "hash": "0xabc...",
      "from_address": "0x123...",
      "to_address": "0x456...",
      "value": "1000000000000000000",
      "gas_used": "21000",
      "gas_price": "5000000000000",
      "block_number": "12345678",
      "receipt_status": "1"
    }
  ],
  "token_transfers": [
    {
      "block_timestamp": "2026-01-23T03:11:54.000Z",
      "transaction_hash": "0xdef...",
      "token_address": "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59",
      "from_address": "0x123...",
      "to_address": "0x456...",
      "value": "1000000"
    }
  ],
  "query_timestamp": "2026-01-23T03:11:54.000Z",
  "note": "Optional error message if BigQuery unavailable"
}

Markdown Response

# Transaction History for 0x123...

**Query Time:** 2026-01-23T03:11:54.000Z
**Transactions Found:** 150
**Token Transfers:** 75

## Recent Transactions

-**0xabc...** (2026-01-23 03:11:54)
  - From: 0x123...
  - To: 0x456...
  - Value: 1 CRO
  - Gas Used: 21000
  - Block: 12345678

## Recent Token Transfers

- 🪙 **USDC** (2026-01-23 03:11:54)
  - TX: 0xdef...
  - From: 0x123...
  - To: 0x456...
  - Amount: 1.000000

Example Usage

MCP Client

resource = read_resource(
    server_name="cato",
    tool_name="cronos://history/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0"
)

Natural Language Query

"Show me transaction history for 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0"

"What are the recent transactions for address 0x123..."

"Get transaction history"

Response Fields

Transaction Object

FieldTypeDescription
block_timestampstringTransaction timestamp (ISO 8601)
hashstringTransaction hash
from_addressstringSender address
to_addressstringRecipient address
valuestringTransaction value in wei
gas_usedstringGas consumed
gas_pricestringGas price in wei
block_numberstringBlock number
receipt_statusstring”1” for success, “0” for failure

Token Transfer Object

FieldTypeDescription
block_timestampstringTransfer timestamp
transaction_hashstringTransaction hash
token_addressstringToken contract address
from_addressstringSender address
to_addressstringRecipient address
valuestringTransfer amount in token units

Data Source

BigQuery Dataset: stark-exec.cronos_zkevm_mainnetHistorical data is queried from Google BigQuery, which contains indexed blockchain data.

Data Coverage

  • Transactions: Native CRO transfers
  • Token Transfers: ERC-20 transfer events
  • Limit: 100 most recent transactions
  • Update Frequency: Near real-time
  • Retention: Full history available

Setup Requirements

Google Cloud Authentication

For historical data access, authenticate with Google Cloud:
gcloud auth application-default login
Without Authentication:If BigQuery authentication is not configured, queries will return an error message:
{
  "note": "BigQuery authentication required. Run: gcloud auth application-default login"
}

Use Cases

Transaction Analysis

Analyze historical transaction patterns

Portfolio Tracking

Track asset movements over time

Tax Reporting

Generate transaction reports for taxes

Audit Trail

Create audit logs of blockchain activity

Filtering & Analysis

Transaction Status

✅ Success (receipt_status = "1")
❌ Failed (receipt_status = "0")

Transaction Types

  • Native Transfers: CRO transfers (value > 0)
  • Contract Calls: Interactions with smart contracts
  • Token Transfers: ERC-20 token movements
  • Contract Deployments: New contract creation

Gas Analysis

// Calculate total gas cost
const gasCost = BigInt(gas_used) * BigInt(gas_price);
const costInCRO = Number(gasCost) / 1e18;

Response Examples

Successful Query

{
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
  "transaction_count": 42,
  "transactions": [...],
  "token_transfers": [...],
  "query_timestamp": "2026-01-23T03:11:54.000Z"
}

No Transactions Found

{
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
  "transaction_count": 0,
  "transactions": [],
  "token_transfers": [],
  "query_timestamp": "2026-01-23T03:11:54.000Z"
}

Authentication Error

{
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
  "transaction_count": 0,
  "transactions": [],
  "token_transfers": [],
  "query_timestamp": "2026-01-23T03:11:54.000Z",
  "note": "BigQuery authentication required. Run: gcloud auth application-default login"
}

Performance

Query Limits

  • Result Limit: 100 most recent transactions
  • Timeout: 60 seconds
  • Rate Limit: GCP BigQuery quota
For production use cases requiring more data, consider:
  • Increasing result limits
  • Implementing pagination
  • Using custom BigQuery queries
  • Setting up dedicated BigQuery project

Best Practices

1

Authenticate First

Set up Google Cloud authentication before querying
2

Handle Errors Gracefully

Check for authentication errors and provide helpful messages
3

Cache Results

Cache transaction history to reduce BigQuery queries
4

Monitor Quota

Keep track of BigQuery quota usage

get_unified_portfolio

Check current balances

decode_transaction_error

Debug failed transactions

Additional Resources

BigQuery Documentation

Learn about BigQuery

Google Cloud SDK

Install gcloud CLI