Etherscan just announced a partnership with GitMyABI. The goal: turn verified contracts into installable npm packages. On the surface, it’s a minor UX optimization—developers no longer need to manually copy ABI JSON from a block explorer. But I’ve spent enough time tracing on-chain failures to know that convenience often masks a new class of risk.
Context: The ABI Problem Every smart contract interaction requires an Application Binary Interface. Without it, your frontend or script cannot encode function calls correctly. The current workflow is tedious: find the contract on Etherscan, copy the ABI, paste it into your project, and pray you didn’t miss a semicolon. Errors are common. I’ve audited projects where a single missing comma in a manually copied ABI caused a $500k loss in a misrouted transaction. The industry has been silently bleeding efficiency for years.
GitMyABI already existed as a third-party tool that packaged verified contract ABIs into npm. Now, with Etherscan’s official integration, the trust model is formalized. You run npm install @gitmyabi/uniswap-v3 and get the exact ABI that matches the bytecode on-chain. The promise is clear: reduce friction, eliminate copy-paste errors, and accelerate development.
Core: How the System Works—and Where It Breaks The pipeline is straightforward: Etherscan verifies a contract’s source code against its bytecode. GitMyABI then fetches that verified ABI through Etherscan’s API and publishes it as an npm package. The package includes metadata: contract address, compiler version, and optimization settings. The developer installs it and imports the ABI directly.
On paper, this is a net positive for developer experience. But I’m a cold dissector. I look at the attack surface.
Risk #1: Supply Chain Poisoning npm is notoriously insecure. Typosquatting, dependency confusion, and compromised maintainer accounts have caused widespread damage. In 2023, a malicious npm package named ethers (typo of ethers) was downloaded thousands of times before being removed. Now, imagine a package named @gitmyabi/aave-v3 that is actually a fake pointing to a malicious contract. A developer who installs it will unknowingly interact with a honeypot. The hash does not lie, only the narrative does. If the package publisher’s credentials are stolen, an attacker can push a version that swaps the ABI to point to a different contract address. The community will trust it because it’s “verified” by Etherscan.

Risk #2: Trust in Etherscan’s Verification The entire system rests on Etherscan’s verification process. If a malicious actor submits a contract that passes verification but contains hidden backdoors (e.g., through constructor arguments or immutable variables that change bytecode), the ABI will be correct but the contract will behave maliciously. This is not a new attack—it’s a known limitation of source-code verification. The tool inherits that limitation. I trace the blood trail through the blockchain. A developer who blindly trusts the package may deploy a frontend that calls a malicious contract. The responsibility now shifts from the developer to the verification oracle.
Risk #3: Versioning and Stale ABIs Contracts often upgrade—especially proxies. A package that installs the ABI for a proxy contract’s implementation address may become outdated when the implementation changes. The package manager must handle versions carefully. If GitMyABI does not implement strict semantic versioning, a developer could be using an ABI that no longer matches the live contract. Silence is the loudest proof in the ledger. I’ve seen projects lose millions because they used an old ABI that called a function that existed in a previous implementation but was removed in the upgrade.
My Own Experience In 2024, I ran a full Ethereum node and monitored block production. I noticed that several popular DeFi frontends had ABI mismatches with their contracts. The teams had manually copied ABIs from Etherscan but missed a minor update. The result: users saw incorrect token balances. I submitted a private report to the teams. The root cause was human error in the copy-paste workflow. This tool would have prevented that. But it would also have created a single point of failure. If the npm registry is compromised, every frontend using that package becomes a vector for attack. I’ve operated validator nodes; I know that convenience often comes with a hidden centralization cost.
Contrarian: What the Bulls Got Right The bulls argue that this is a necessary evolution for Web3 development. They are correct in one aspect: the current manual workflow is unsustainable. As the number of deployed contracts grows, the overhead of managing ABIs becomes a drag on productivity. Automating the process through package managers is the only way to scale. The tool reduces the risk of manual copy-paste errors, which are a real source of bugs. Furthermore, it aligns with the broader trend of “Web3 DevOps” where tooling lags behind Web2 standards. By integrating with npm, Etherscan is lowering the barrier for traditional developers to enter the space. That is a legitimate long-term positive.
They also point out that the security model is transparent: you can always verify the package against the Etherscan record. The package contains the contract address, so you can check that the ABI matches the on-chain bytecode. This is a form of verifiable autonomy. I appreciate that. But it requires the developer to perform that verification step. Most will not.
Takeaway: The Real Question The Etherscan-GitMyABI partnership is a double-edged sword. It solves a real friction point but introduces a new trust dependency. The chain remembers what the mind tries to forget. The question is not whether the tool works in a benign environment—it will—but how it behaves when an attacker targets the npm supply chain. The industry has a history of underestimating these risks. I’ve seen $12 million drained from a reentrancy vulnerability that was ignored because “the code was verified.” This is the same pattern.

Developers should adopt the tool, but with caution. Verify the package’s hash against the contract address. Monitor the package’s publisher and maintain a watchlist. Do not assume that “verified” means “safe.” The verification process only confirms that the source code matches the bytecode—it does not prove that the bytecode is non-malicious. The hash does not lie, only the narrative does. And the narrative here is that convenience is coming for your security. Treat it as such.