# @ethersproject/contracts

> Contract abstraction meta-class for ethers.

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

## Install

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

## 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 | 10 |
| Unpacked size | 244.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8716 |
| Author | Richard Moore |
| Maintainers | ricmoo |
| Keywords | Ethereum, ethers |

## Links

- npm: https://www.npmjs.com/package/@ethersproject/contracts
- 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/contracts

## Dependencies (10)

- [@ethersproject/abi](https://npm.io/package/@ethersproject/abi.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/bignumber](https://npm.io/package/@ethersproject/bignumber.md) ^5.8.0
- [@ethersproject/constants](https://npm.io/package/@ethersproject/constants.md) ^5.8.0
- [@ethersproject/properties](https://npm.io/package/@ethersproject/properties.md) ^5.8.0
- [@ethersproject/transactions](https://npm.io/package/@ethersproject/transactions.md) ^5.8.0
- [@ethersproject/abstract-signer](https://npm.io/package/@ethersproject/abstract-signer.md) ^5.8.0
- [@ethersproject/abstract-provider](https://npm.io/package/@ethersproject/abstract-provider.md) ^5.8.0

## Recent versions

- 5.8.0 (latest) — 2025-02-26
- 5.7.0 — 2022-08-19
- 5.6.2 — 2022-05-24
- 5.6.1 — 2022-05-14
- 5.6.0 — 2022-03-10
- 5.5.0 — 2021-10-20
- 5.4.1 — 2021-07-30
- 5.4.0 — 2021-06-26
- 5.3.0 — 2021-06-01
- 5.2.0 — 2021-05-20
- 5.1.1 — 2021-04-19
- 5.1.0 — 2021-03-30
- 5.0.12 — 2021-03-08
- 5.0.11 — 2021-02-13
- 5.0.10 — 2021-02-01
- … 48 more at https://npm.io/package/@ethersproject/contracts/versions

## README

Ethereum Contract Meta-Class
============================

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

It is creating (at run-time) an object which interacts with an on-chain
contract as a native JavaScript object.

If you are familiar with ORM for Databases, this is similar, but for smart contracts.

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

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 {

    Contract,
    ContractFactory,

    RunningEvent,

    // Types

    ContractInterface,

    Overrides,
    PayableOverrides,
    CallOverrides,

    PopulatedTransaction,

    EventFilter,

    ContractFunction,

    Event,
    ContractReceipt,
    ContractTransaction

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


License
-------

MIT License

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