Skip to content

[BCN] Exclude ERC20 transfers from Alchemy native tx history#4163

Open
leolambo wants to merge 4 commits into
bitpay:masterfrom
leolambo:alchemyNativeTxFilter
Open

[BCN] Exclude ERC20 transfers from Alchemy native tx history#4163
leolambo wants to merge 4 commits into
bitpay:masterfrom
leolambo:alchemyNativeTxFilter

Conversation

@leolambo
Copy link
Copy Markdown
Contributor

Token receives were found as native-ETH receives because the default category list included erc20. Token sends still appear via the underlying external call (0 ETH, gas spent).

Changelog

  • Exclude ERC20 transfers from Alchemy native tx history

Testing Notes

Add any helpful notes for reviewers to test your code here.


Checklist

  • I have read CONTRIBUTING.md and verified that this PR follows the guidelines and requirements outlined in it.

Token receives were surfacing as tiny native-ETH receives because the
default category list included erc20. Token sends still appear via the
underlying external call (0 ETH, gas spent), matching Moralis and the
EVM CSP convention where native and token histories are separate.
@leolambo leolambo force-pushed the alchemyNativeTxFilter branch from 5c3f874 to 181fe67 Compare May 11, 2026 20:32
leolambo added 3 commits May 11, 2026 16:50
Sends and receives now use different category sets so erc20 sends still
surface (as 0-ETH txs with gas spent) while erc20 receives stay out of
native history. Cross-category dedupe keeps the external row when a
single hash appears under multiple categories (e.g. a defi tx). Adapter
no longer sets a category; that's owned by EVMListTransactionsStream
downstream, matching the Moralis convention.
The previous endpoint hits the public sepolia.base.org RPC, which rate-
limits the 200-call burst getErc20Transfers makes when scanning a 10k
block range in 100-block windows. drpc.org's public Base sepolia
endpoint handles the burst cleanly (verified 100/100 sequential).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant