Heimdahl CLI is a general purpose command line tool that aims to provide convenient way to access blockchain data.
- Unified access to data across EVM, Solana and Tron: Realtime and historic data across major EVM, Solana and Tron.
- Query Indexed Blockchain Events via REST API: Retrieve smart contracts events data already pre-indexed on backend.
- Direct sourcing from in-house Ethereum nodes: Get data directly from blockchain without any middlemen (Alchemy, Infura etc) with more nodes to come.
- Unpacked data : Get decoded data from events decoded and typed based on contract's ABI.
- Listen to Realtime Events: Listen to events via Websocket API.
- Zero Configuration: No need to run your own infrastructure or indexers.
- REST API: Access blockchain data via REST API to eliminate need for complex GraphQL querying
- Built with Go: Fast, portable, and efficient CLI with zero configuration and underlying dependency.
- Simple Commands: Get started with simple commands powered by Cobra.
-
Advanced filtering Filter events by block number, timestamp, and more.
-
Block, Transactions and Receipts Indexing Indexing of blocks, transactions and receipts for advanced analytics.
-
and many more to come ;)
You can pick pre-build binaries from the releases page.
$ wget https://github.com/heimdahl-xyz/heimdahl-cli/releases/download/heimdahl-cli-{latest-release}/heimdahl-cli-linux-amd64.tar.gz
$ tar -xzvf heimdahl-linux-amd64.tar.gz
$ mv heimdahl-linux-amd64 heimdahl
$ ./heimdahl
Heimdahl CLI - Blockchain Data Access Without Infrastructure
Fast access to blockchain events and analytics across multiple chains through simple commands.
Instead of spending months building indexers, start exploring blockchain data in minutes:
Examples:
heimdahl event list 0xb47e...BBB PunkOffered # Get specific events
heimdahl contract show 0x060...6d # View contract details
Built for developers who need reliable blockchain data without infrastructure overhead.
or you can ...
- Go: Ensure Go is installed (version 1.21+).
- Make: GNU Make 3.81(optional)
git clone git@github.com:heimdahl-xyz/heimdahl-cli.git
cd heimdahl-cligo build -o bin/heimdahl main.go
or
make build $ heimdahl chain list
CHAIN NETWORK CHAIN ID
--------------------------------
ethereum mainnet 1
ethereum sepolia 11155111
base mainnet 8453
polygon mainnet 137
arbitrum mainnet 42161
optimism mainnet 10
binance mainnet 56
$ heimdahl contract list
Chain: ethereum
Network: mainnet
Contract Name: Ethena USD
Contract Address: 0x4c9edd5852cd905f086c759e8383e09bff1e68b3
Events:
- EIP712DomainChanged
- MinterUpdated
- OwnershipTransferStarted
- OwnershipTransferred
- Transfer
- Approval
--------------------------------------------------------------------------------
Chain: ethereum
Network: mainnet
Contract Name: Pudgy Penguins ETH
Contract Address: 0xBd3531dA5CF5857e7CfAA92426877b022e612cf8
Events:
- OwnershipTransferred
- Paused
- Transfer
- Unpaused
- Approval
- ApprovalForAll
- CreatePenguin
--------------------------------------------------------------------------------
Chain: ethereum
Network: mainnet
Contract Name: USDD
Contract Address: 0x0C10bF8FcB7Bf5412187A595ab97a3609160b5c6
Events:
- Approval
- MetaTransactionExecuted
- RoleAdminChanged
- RoleGranted
- RoleRevoked
- Transfer
$ heimdahl event list ethereum.mainnet.0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640.Mint # Uniswap
V3 Mint on ethereum
BLOCK# | TIMESTAMP | TRANSACTION_HASH | EVENT_DATA
---------------------------------------------------------------------------------------------------- 21446044 | 2025-01-17T18:54:55Z | 0xb88af7b04df4d1d7a7fd777bcc31060ad0346a0da3706a32d15d4ddcf296e334 | amount: 393581927855607704795, amount1: 361788791691837
3918, tickLower: 194800, amount0: 11576768988867, owner: 0xA69babEF1cA67A37Ffaf7a485DfFF3382056e78C, sender: 1.4024810831325053e48, tickUpper: 194810 21446018 | 2025-01-17T18:54:55Z | 0x91fb7b4208e216dda90c6f83d042b528d4208a86e7bddf8e1b99e473d19f6c1e | amount0: 145884955, tickLower: 193890, tickUpper: 19808
0, amount: 16340383564036, owner: 0xC36442b4a4522E871399CD717aBDD847Ab11FE88, sender: 1.1154890857106194e48, amount1: 12253693449477527 21445992 | 2025-01-17T18:54:55Z | 0x72de3607664cab8ab4179b4b1f581cfd8b1b219944b705e9ff7ce8248ae545a4 | sender: 1.1154890857106194e48, tickUpper: 198080, amoun
t: 51397277183042, amount0: 458518761, owner: 0xC36442b4a4522E871399CD717aBDD847Ab11FE88, tickLower: 193890, amount1: 38643713455569501 21445953 | 2025-01-17T18:54:55Z | 0x9d12b2d2b68c7bc0a920d1d950639f11f940af43ab711d5266dc7c3cf6efe0d7 | amount0: 601856883798, amount1: 0, amount: 204088654544
29306880, owner: 0x1f2F10D1C40777AE1Da742455c65828FF36Df387, sender: 1.7802831409602703e47, tickLower: 194770, tickUpper: 194780
...$ heimdahl event list ethereum.mainnet.0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2.Transfer
BLOCK# | TIMESTAMP | TRANSACTION_HASH | EVENT_DATA ----------------------------------------------------------------------------------------------------
21679357 | 2025-01-22T10:13:38Z | 0x2b1cbb5891849ae99a1436451add7c2212b0b782c8b95259d52b515f20afef9f | dst: 0xB86E490E72F050c424383d514362Dc61DaBB1Cc3, src: 0xdad17D7E3Abbebe1ea5782962398113422F10EE0, wad: 300852659872045380
21679357 | 2025-01-22T10:13:38Z | 0x318a0434558e1c6b70c3b60eb58f74751ac8559b7dca4aa3c351166e75f57bff | dst: 0x95190AaF90dd499E87068C68b90352526993c1A7, src: 0
x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, wad: 200000000000000000
21679357 | 2025-01-22T10:13:38Z | 0xe3157a424eb975be6d25376f2021cdbcc0d3ec370d2c8d93a81fa12928e1f8c3 | dst: 0x000000fee13a103A10D593b9AE06b3e05F2E7E1c, src: 0
x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD, wad: 73468283229723
21679357 | 2025-01-22T10:13:38Z | 0xcc60fbf73b6b999efa3efabcae87a18a3b1499c2f70a4dcf6dc3ad7db9d252bf | dst: 0x468795E031c173942C9387AEd0a302E26bDD0460, src: 0
x7D0CcAa3Fac1e5A943c5168b6CEd828691b46B36, wad: 10074112441007251
21679357 | 2025-01-22T10:13:38Z | 0xa161fcaac3f5d1b90f8b95fdf1e86baac469fe9fad877690e668efc7a858b6e4 | dst: 0x468795E031c173942C9387AEd0a302E26bDD0460, src: 0
x3b4c1914CCbb2ADb030a58A2cC378b7016C9d5E8, wad: 53024641812615367
We're actively working on enabling users to obtain their API keys independently. In the meantime, you can gain early access by joining our Discord Server.
You can also follow us on LinkedIn to stay updated.
