@stellarshift/evm-address-kit
v1.0.0
Published
Lightweight EVM address validation, EIP-55 checksum, and display helpers for Web3 frontends.
Maintainers
Readme
@stellarshift/evm-address-kit
Lightweight EVM address utilities for dApp frontends, indexers, and internal Web3 tooling.
No wallet provider dependency — works in Node.js and bundlers.
Install
npm install @stellarshift/evm-address-kitQuick start
const {
isAddress,
toChecksumAddress,
shortenAddress,
isZeroAddress,
sameAddress,
} = require('@stellarshift/evm-address-kit');
isAddress('0xAb5801a7D398351b0bE27eB21Eb8E514E0C2cB8'); // true
toChecksumAddress('0xab5801a7d398351b0be27eb21eb8e514e0c2cb8');
// → '0xAb5801a7D398351b0bE27eB21Eb8E514E0C2cB8'
shortenAddress('0xAb5801a7D398351b0bE27eB21Eb8E514E0C2cB8', 4);
// → '0xAb58…2cB8'
isZeroAddress('0x0000000000000000000000000000000000000000'); // true
sameAddress('0xABC...', '0xabc...'); // true (case-insensitive)API
| Function | Description |
|----------|-------------|
| isAddress(value) | true if 0x + 40 hex chars |
| isZeroAddress(addr) | Burn / null address check |
| toChecksumAddress(addr) | EIP-55 checksum |
| shortenAddress(addr, chars?) | UI ellipsis (default 4 chars per side) |
| sameAddress(a, b) | Case-insensitive equality |
| ZERO_ADDRESS | Constant 0x000…000 |
Why this package?
- Small surface — one file, one dependency (
js-sha3for Keccak-256) - Tree-shake friendly — CommonJS today; ESM re-export planned in v1.1
- Strict validation — throws
TypeErroron invalid input for checksum/shorten
Used in
Internal StellarShift interview tasks and wallet QA harnesses that need address formatting without pulling in full ethers / viem.
Development
npm testLicense
MIT © StellarShift Labs
