> For the complete documentation index, see [llms.txt](https://8bit-1.gitbook.io/solibrary/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://8bit-1.gitbook.io/solibrary/interface-implementations.md).

# Interface implementations

Bundles

| Description          | Maintainer | Links                                                                                                                                                                       |
| -------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Umi's default bundle | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-bundle-defaults) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-bundle-defaults) |
| Umi's test bundle    | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-bundle-tests) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-bundle-tests)       |

### Signer <a href="#signer" id="signer"></a>

| Description                                | Maintainer | Links                                                                                                                                                                                     |
| ------------------------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Internal Signer plugins                    | Metaplex   | [Signers documentation](https://developers.metaplex.com/umi/public-keys-and-signers#signers)                                                                                              |
| Use Solana's Wallet Adapters               | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-signer-wallet-adapters) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-signer-wallet-adapters) |
| Derive new Signers from message signatures | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-signer-derived) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-signer-derived)                 |

### Eddsa Interface <a href="#eddsa-interface" id="eddsa-interface"></a>

| Description          | Maintainer | Links                                                                                                                                                                 |
| -------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Use Solana's web3.js | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-eddsa-web3js) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-eddsa-web3js) |

### RPC Interface <a href="#rpc-interface" id="rpc-interface"></a>

| Description                                                                                                                                             | Maintainer | Links                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Use Solana's web3.js                                                                                                                                    | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-rpc-web3js) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-rpc-web3js)                         |
| An RPC decorator that chunks `getAccounts` requests into batches of a given size, and run them in parallel to abstract API limitations to the end-user. | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-rpc-chunk-get-accounts) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-rpc-chunk-get-accounts) |

### Transaction Factory Interface <a href="#transaction-factory-interface" id="transaction-factory-interface"></a>

| Description          | Maintainer | Links                                                                                                                                                                                             |
| -------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Use Solana's web3.js | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-transaction-factory-web3js) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-transaction-factory-web3js) |

### Uploader Interface <a href="#uploader-interface" id="uploader-interface"></a>

| Description                                                | Maintainer | Links                                                                                                                                                                                 |
| ---------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Uses AWS                                                   | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-uploader-aws) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-uploader-aws)                 |
| Uses Irys.xyz                                              | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-uploader-irys) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-uploader-irys)               |
| Uses NFT.Storage                                           | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-uploader-nft-storage) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-uploader-nft-storage) |
| Uses a local cache to mock uploads and downloads           | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-storage-mock) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-storage-mock)                 |
| Uses 4EVERLAND                                             | 4EVERLAND  | [GitHub](https://github.com/4everland/umi-uploader-4everland) / [NPM](https://www.npmjs.com/package/@4everland/umi-uploader-4everland)                                                |
| Uses Bundlr.network (Deprecated - use `umi-uploader-irys`) | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-uploader-bundlr) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-uploader-bundlr)           |

### Downloader Interface <a href="#downloader-interface" id="downloader-interface"></a>

| Description                                      | Maintainer | Links                                                                                                                                                                       |
| ------------------------------------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Uses the Http interface                          | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-downloader-http) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-downloader-http) |
| Uses a local cache to mock uploads and downloads | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-storage-mock) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-storage-mock)       |

### Http Interface <a href="#http-interface" id="http-interface"></a>

| Description                                     | Maintainer | Links                                                                                                                                                             |
| ----------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Uses the fetch API via the `node-fetch` library | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-http-fetch) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-http-fetch) |

### Program Repository Interface <a href="#program-repository-interface" id="program-repository-interface"></a>

| Description                                       | Maintainer | Links                                                                                                                                                                             |
| ------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Default implementation with no extra dependencies | Metaplex   | [GitHub](https://github.com/metaplex-foundation/umi/tree/main/packages/umi-program-repository) / [NPM](https://www.npmjs.com/package/@metaplex-foundation/umi-program-repository) |
