Skip to main content
Beta — PolyNode RPC is in early access.

Overview

Every transaction submitted through PolyNode RPC is tracked from submission to block inclusion. You can query the exact block position and confirmation latency.

Submit a Transaction

raw_tx
string
required
Hex-encoded signed transaction (with or without 0x prefix)
POST https://rpc.polynode.dev/v1/tx/submit
Content-Type: application/json

{
  "raw_tx": "0x02f87083..."
}

Response

{
  "tx_hash": "0xabc123...",
  "submitted_at": 1710524000,
  "status": "pending"
}
FieldDescription
tx_hashTransaction hash
statuspending — waiting for block inclusion

Check Transaction Status

GET https://rpc.polynode.dev/v1/tx/{tx_hash}

Pending

{
  "status": "pending",
  "submitted_at": 1710524000,
  "elapsed_ms": 1500
}

Confirmed

{
  "status": "confirmed",
  "submitted_at": 1710524000,
  "confirmed_at": 1710524002,
  "block_number": 84210500,
  "block_hash": "0xdef456...",
  "tx_index": 0,
  "total_txs_in_block": 186,
  "is_first": true,
  "latency_ms": 2450
}
FieldDescription
block_numberBlock the transaction was included in
tx_indexPosition within the block (0 = first transaction)
total_txs_in_blockTotal transactions in the block
is_firstWhether this was the first transaction in the block
latency_msTime from submission to block confirmation

Expired

If a transaction isn’t included within ~128 seconds (64 blocks), it’s marked as expired:
{
  "status": "expired",
  "submitted_at": 1710524000,
  "reason": "not included within 64 blocks"
}

Aggregate Stats

GET https://rpc.polynode.dev/v1/stats
{
  "total_submitted": 1000,
  "total_confirmed": 998,
  "total_first_position": 895,
  "first_position_rate": 0.897,
  "total_expired": 2,
  "pending": 0,
  "avg_latency_ms": 2450
}