{"id":20987157,"url":"https://github.com/haxpor/evmscan","last_synced_at":"2025-12-12T14:50:55.100Z","repository":{"id":62438560,"uuid":"464229659","full_name":"haxpor/evmscan","owner":"haxpor","description":"Rust binding of non-async API for EVM-based chains working with API platforms of bscscan.com, etherscan.io, and polygonscan.com","archived":false,"fork":false,"pushed_at":"2022-05-01T15:04:20.000Z","size":116,"stargazers_count":6,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T00:30:34.469Z","etag":null,"topics":["api","binance","bsc","bscscan","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/evmscan","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haxpor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-27T19:13:21.000Z","updated_at":"2024-09-02T16:24:05.000Z","dependencies_parsed_at":"2022-11-01T22:01:12.325Z","dependency_job_id":null,"html_url":"https://github.com/haxpor/evmscan","commit_stats":null,"previous_names":["haxpor/bscscan"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fevmscan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fevmscan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fevmscan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fevmscan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haxpor","download_url":"https://codeload.github.com/haxpor/evmscan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225303967,"owners_count":17453037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","binance","bsc","bscscan","rust"],"created_at":"2024-11-19T06:16:10.942Z","updated_at":"2025-12-12T14:50:50.045Z","avatar_url":"https://github.com/haxpor.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# evmscan\nevmscan is a non-async API in Rust that supports working with bscscan.com, etherscan.io,\nand polygonscan.com.\n\nNative token associated with each platform API is as follows\n\n* bscscan - BNB\n* etherscan - ETH\n* polygonscan - MATIC\n\n**WIP** and will be gradually filled with APIs as provided on bscscan.com side.\n\n# API supports\n\nSee which APIs this project supports as seen in checking mark below.\n\n## Accounts\n- [x] Get native token balance for a single address\n- [x] Get native token balance for multiple addresses in a single cal\n- [ ] `PRO API` Get historical native token balance for a single address by block number\n- [x] Get a list of normal transactions by address (limited by API to only maximum of 10,000 records)\n- [x] Get a list of internal transactions by address (limited by API to only maximum of 10,000 records)\n- [ ] Get 'internal transactions' by transaction hash\n- [ ] Get 'internal transactions' by block range\n- [x] Get a list of ERC-20/BEP-20 token transfer events from an EOA address (specify `address`)\n- [ ] Get a list of ERC-20/BEP-20 token transfer events from a contract address (specify `contractaddress`)\n- [ ] Get a list of ERC-20/BEP-20 token transfer events from an EOA address filtered by a token contract (specify `address` and `contractaddress`)\n- [ ] Get a list of BEP-721/BEP-20 token transfer events from an EOA address (specify `address`)\n- [ ] Get a list of BEP-721/BEP-721 token transfer events from a contract address (specify `contractaddress`)\n- [ ] Get a list of BEP-721/BEP-721 token transfer events from an EOA address filtered by a token contract (specify `address` and `contractaddress`)\n- [ ] Get a list of blocks validated by address\n\n## Contracts\n\n- [x] Get contract ABI for verified contract source code\n- [x] Get contract source code for verified contract source codes\n- [ ] Verify source code\n- [ ] Verify proxy contract\n\n## Transactions\n\n- [ ] Check transaction receipt status\n\n## Blocks\n\n- [ ] Get block rewards by block number\n- [ ] Get estimated block countdown time by block number\n- [ ] Get block number by timestamp\n- [ ] `PRO API` Get daily average block size\n- [ ] `PRO API` Get daily block count and rewards\n- [ ] `PRO API` Get daily block rewards\n- [ ] `PRO API` Get daily average time for a block to be included in the native token blockchain\n\n## Logs\n\n- [ ] Get logs using filter parameters\n\n## Geth Proxy\n\n- [ ] `eth_blockNumber` - returns the number of most recent block\n- [ ] `eth_getBlockByNumber` - returns information about a block by block number\n- [ ] `eth_getBlockTransactionCountByNumber` - returns the number of transactions in a block\n- [ ] `eth_getTransactionByHash` - returns information about a transaction requested by transaction hash\n- [ ] `eth_getTransactionByBlockNumberAndIndex` - returns information about a transaction by block number and transaction index position\n- [ ] `eth_getTransactionCount` - returns the number of transactions performed by an address\n- [ ] `eth_sendRawTransaction` - submits a pre-signed transaction for broadcast to the native token Smart Chain network\n- [ ] `eth_getTransactionReceipt` - returns the receipt of a transaction that has been validated\n- [ ] `eth_call` - executes a new message call (read function) immediately without creating a transaction on the blockchain\n- [ ] `eth_getCode` - returns code a given address\n- [ ] `eth_getStorageAt` (`experimental`) - returns the value from a storage position at a given address\n- [ ] `eth_gasPrice` - returns the current price per gas in wei\n- [ ] `eth_estimateGas` - makes a call or transaction, which won't be added to the blockchain and returns the gas used\n\n## Tokens\n\n- [ ] Get ERC-20/BEP-20 token total supply by contract address\n- [ ] Get ERC-20/BEP-20 token circulating supply by contract address\n- [ ] Get ERC-20/BEP-20 token account balance by contract address\n- [ ] `PRO API` Get token holder list by contract address\n- [ ] `PRO API` Get historical ERC-20/BEP-20 token total supply by contract address \u0026 block number\n- [ ] `PRO API` Get historical ERC-20/BEP-20 token account balance by contract address \u0026 block number\n- [ ] `PRO API` Get token info by contract address\n- [ ] `PRO API` Get address ERC-20/BEP-20 token holding\n- [ ] `PRO API` Get address 'BEP-721' token holding\n- [ ] `PRO API` Get address 'BEP-721' token inventory by contract address\n\n## Gas Tracker\n\n- [ ] Get gas oracle\n- [ ] `PRO API` Get daily average gas limit\n- [ ] `PRO API` Get native token Smart Chain Daily total gas used\n- [ ] `PRO API` Get daily average gas price\n\n## Stats\n\n- [ ] Get total supply of native token on the blockchain\n- [ ] Get validators list on the blockchain\n- [x] Get native token last price\n- [ ] `PRO API` Get native token historical price\n- [ ] `PRO API` Get daily network transaction fee\n- [ ] `PRO API` Get daily new address count\n- [ ] `PRO API` Get daily network utilization\n- [ ] `PRO API` Get daily transaction count\n\n# Test\n\nAs this library manages accessing to 3 different API platforms, thus in order to\ntest all of them, users need to define api key for those platforms before running\nthe test.\n\n* Grab api keys for all 3 API platforms (bscscan.com, etherscan.io, polygonscan.com)\n* Define `EVMSCAN_TEST_BSCSCAN_APIKEY`, `EVMSCAN_TEST_ETHERSCAN_APIKEY`, and `EVMSCAN_TEST_POLYGONSCAN_APIKEY`.\n* `cargo test`\n\n# License\nMIT, Wasin Thonkaew\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxpor%2Fevmscan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaxpor%2Fevmscan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxpor%2Fevmscan/lists"}