# @ethersproject/abi

> Utilities and Classes for parsing, formatting and managing Ethereum ABIs.

Latest version **5.8.0** (published 2025-02-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install @ethersproject/abi
pnpm add @ethersproject/abi
yarn add @ethersproject/abi
bun add @ethersproject/abi
```

## Health

**Score 50/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 5.8.0 |
| Published | 2025-02-26 |
| First published | 2019-03-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 9 |
| Unpacked size | 486.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8715 |
| Author | Richard Moore |
| Maintainers | ricmoo |
| Keywords | Ethereum, ethers |

## Links

- npm: https://www.npmjs.com/package/@ethersproject/abi
- Repository: https://github.com/ethers-io/ethers.js
- Homepage: https://github.com/ethers-io/ethers.js#readme
- Issues: https://github.com/ethers-io/ethers.js/issues
- Funding: https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2
- npm.io page: https://npm.io/package/@ethersproject/abi

## Dependencies (9)

- [@ethersproject/hash](https://npm.io/package/@ethersproject/hash.md) ^5.8.0
- [@ethersproject/bytes](https://npm.io/package/@ethersproject/bytes.md) ^5.8.0
- [@ethersproject/logger](https://npm.io/package/@ethersproject/logger.md) ^5.8.0
- [@ethersproject/address](https://npm.io/package/@ethersproject/address.md) ^5.8.0
- [@ethersproject/strings](https://npm.io/package/@ethersproject/strings.md) ^5.8.0
- [@ethersproject/bignumber](https://npm.io/package/@ethersproject/bignumber.md) ^5.8.0
- [@ethersproject/constants](https://npm.io/package/@ethersproject/constants.md) ^5.8.0
- [@ethersproject/keccak256](https://npm.io/package/@ethersproject/keccak256.md) ^5.8.0
- [@ethersproject/properties](https://npm.io/package/@ethersproject/properties.md) ^5.8.0

## Recent versions

- 5.8.0 (latest) — 2025-02-26
- 6.0.0-beta.3 (beta) — 2022-04-19
- 5.7.0 — 2022-08-19
- 5.6.4 — 2022-06-18
- 5.6.3 — 2022-05-24
- 5.6.2 — 2022-05-14
- 6.0.0-beta.2 — 2022-04-17
- 5.6.1 — 2022-04-13
- 6.0.0-beta.1 — 2022-04-11
- 5.6.0 — 2022-03-10
- 5.5.0 — 2021-10-20
- 5.4.1 — 2021-08-27
- 5.4.0 — 2021-06-26
- 5.3.1 — 2021-06-11
- 5.3.0 — 2021-06-01
- … 58 more at https://npm.io/package/@ethersproject/abi/versions

## README

Ethereum ABI Coder
==================

This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js).

It is responsible for encoding and decoding the Application Binary Interface (ABI)
used by most smart contracts to interoperate between other smart contracts and clients.

For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/abi/).

Importing
---------

Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers),
but for those with more specific needs, individual components can be imported.

```javascript
const {

    ConstructorFragment,
    EventFragment,
    Fragment,
    FunctionFragment,
    ParamType,
    FormatTypes,

    AbiCoder,
    defaultAbiCoder,

    Interface,
    Indexed,

    /////////////////////////
    // Types

    CoerceFunc,
    JsonFragment,
    JsonFragmentType,

    Result,
    checkResultErrors,

    LogDescription,
    TransactionDescription

} = require("@ethersproject/abi");
```

License
-------

MIT License

---
_Source: https://npm.io/package/@ethersproject/abi · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
