<p align="center">
<br />
<a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/legacy_packages/sdk/logo.svg?raw=true" width="200" alt=""/></a>
<br />
</p>
<h1 align="center">thirdweb</h1>
<p align="center">
<a href="https://www.npmjs.com/package/thirdweb"><img src="https://img.shields.io/npm/v/thirdweb?color=red&label=npm&logo=npm" alt="npm version"/></a>
<a href="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml"><img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml/badge.svg"/></a>
</p>
<p align="center"><strong>All-in-one web3 SDK for Browser, Node and Mobile apps</strong></p>

## Installation

```bash
npm install thirdweb
```

## Features

|                                           | thirdweb | Wagmi              | Viem               | Ethers@6 |
| ----------------------------------------- | -------- | ------------------ | ------------------ | -------- |
| Type safe contract API                    | ✅       | ✅                 | ✅                 | ✅       |
| Type safe wallet API                      | ✅       | ✅                 | ✅                 | ✅       |
| EVM utils                                 | ✅       | ❌                 | ✅                 | ✅       |
| RPC for any EVM                           | ✅       | ⚠️ public RPC only | ⚠️ public RPC only | ❌       |
| Automatic ABI Resolution                  | ✅       | ❌                 | ❌                 | ❌       |
| IPFS Upload/Download                      | ✅       | ❌                 | ❌                 | ❌       |
| Embedded wallet (email/ social login)     | ✅       | ⚠️ via 3rd party   | ❌                 | ❌       |
| Account abstraction (ERC4337) support     | ✅       | ⚠️ via 3rd party   | ⚠️ via 3rd party   | ❌       |
| Web3 wallet connectors                    | ✅       | ✅                 | ❌                 | ❌       |
| Local wallet creation                     | ✅       | ❌                 | ✅                 | ✅       |
| Auth (SIWE)                               | ✅       | ⚠️ via 3rd party   | ❌                 | ❌       |
| Extensions functions for common standards | ✅       | ❌                 | ❌                 | ❌       |
| React Hooks                               | ✅       | ✅                 | ❌                 | ❌       |
| React UI components                       | ✅       | ❌                 | ❌                 | ❌       |
| React Native Hooks                        | ✅       | ❌                 | ❌                 | ❌       |
| React Native UI Components                | ✅       | ❌                 | ❌                 | ❌       |

## Documentation

Visit [the thirdweb developer portal](https://portal.thirdweb.com/typescript/v5?ref=github.com) to view the full documentation.

## Migrating from previous versions

Follow the [migration guide](https://portal.thirdweb.com/typescript/v5/migrate?ref=github.com) to learn how to progrssively upgrade to the unified thirdweb SDK from previous versions.

## Starter kits

- [Next.js starter](https://github.com/thirdweb-example/next-starter)
- [Vite starter](https://github.com/thirdweb-example/vite-starter)

## Contributing

We welcome contributions from all developers, regardless of experience level. If you are interested in contributing, please read our [Contributing Guide](https://github.com/thirdweb-dev/js/blob/main/.github/contributing.md) where you'll learn how the repo works, how to test your changes, and how to submit a pull request.
