https://github.com/metamask/accounts
Monorepo for MetaMask's account-related packages
https://github.com/metamask/accounts
Last synced: 6 days ago
JSON representation
Monorepo for MetaMask's account-related packages
- Host: GitHub
- URL: https://github.com/metamask/accounts
- Owner: MetaMask
- Created: 2023-07-28T09:02:38.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-04-23T18:57:50.000Z (7 days ago)
- Last Synced: 2026-04-23T19:24:06.097Z (7 days ago)
- Language: TypeScript
- Homepage:
- Size: 10.9 MB
- Stars: 24
- Watchers: 45
- Forks: 11
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Accounts Monorepo
This monorepo is a collection of accounts-related packages used across multiple MetaMask clients (e.g. [`metamask-extension`](https://github.com/MetaMask/metamask-extension/), [`metamask-mobile`](https://github.com/MetaMask/metamask-mobile/)).
## How to
- [How to release](./docs/how-to-release.md)
## Modules
This repository contains the following packages [^fn1]:
- [`@metamask/account-api`](packages/account-api)
- [`@metamask/eth-hd-keyring`](packages/keyring-eth-hd)
- [`@metamask/eth-ledger-bridge-keyring`](packages/keyring-eth-ledger-bridge)
- [`@metamask/eth-money-keyring`](packages/keyring-eth-money)
- [`@metamask/eth-qr-keyring`](packages/keyring-eth-qr)
- [`@metamask/eth-simple-keyring`](packages/keyring-eth-simple)
- [`@metamask/eth-snap-keyring`](packages/keyring-snap-bridge)
- [`@metamask/eth-trezor-keyring`](packages/keyring-eth-trezor)
- [`@metamask/hw-wallet-sdk`](packages/hw-wallet-sdk)
- [`@metamask/keyring-api`](packages/keyring-api)
- [`@metamask/keyring-internal-api`](packages/keyring-internal-api)
- [`@metamask/keyring-internal-snap-client`](packages/keyring-internal-snap-client)
- [`@metamask/keyring-sdk`](packages/keyring-sdk)
- [`@metamask/keyring-snap-client`](packages/keyring-snap-client)
- [`@metamask/keyring-snap-sdk`](packages/keyring-snap-sdk)
- [`@metamask/keyring-utils`](packages/keyring-utils)
Or, in graph form [^fn1]:
```mermaid
%%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%%
graph LR;
linkStyle default opacity:0.5
account_api(["@metamask/account-api"]);
hw_wallet_sdk(["@metamask/hw-wallet-sdk"]);
keyring_api(["@metamask/keyring-api"]);
eth_hd_keyring(["@metamask/eth-hd-keyring"]);
eth_ledger_bridge_keyring(["@metamask/eth-ledger-bridge-keyring"]);
eth_money_keyring(["@metamask/eth-money-keyring"]);
eth_qr_keyring(["@metamask/eth-qr-keyring"]);
eth_simple_keyring(["@metamask/eth-simple-keyring"]);
eth_trezor_keyring(["@metamask/eth-trezor-keyring"]);
keyring_internal_api(["@metamask/keyring-internal-api"]);
keyring_internal_snap_client(["@metamask/keyring-internal-snap-client"]);
keyring_sdk(["@metamask/keyring-sdk"]);
eth_snap_keyring(["@metamask/eth-snap-keyring"]);
keyring_snap_client(["@metamask/keyring-snap-client"]);
keyring_snap_sdk(["@metamask/keyring-snap-sdk"]);
keyring_utils(["@metamask/keyring-utils"]);
account_api --> keyring_api;
account_api --> keyring_utils;
keyring_api --> keyring_utils;
eth_hd_keyring --> keyring_api;
eth_hd_keyring --> keyring_sdk;
eth_hd_keyring --> keyring_utils;
eth_hd_keyring --> account_api;
eth_ledger_bridge_keyring --> hw_wallet_sdk;
eth_ledger_bridge_keyring --> keyring_api;
eth_ledger_bridge_keyring --> keyring_sdk;
eth_ledger_bridge_keyring --> account_api;
eth_ledger_bridge_keyring --> keyring_utils;
eth_money_keyring --> keyring_eth_hd;
eth_money_keyring --> keyring_api;
eth_money_keyring --> keyring_utils;
eth_qr_keyring --> keyring_api;
eth_qr_keyring --> keyring_sdk;
eth_qr_keyring --> keyring_utils;
eth_qr_keyring --> account_api;
eth_simple_keyring --> keyring_api;
eth_simple_keyring --> keyring_sdk;
eth_simple_keyring --> keyring_utils;
eth_trezor_keyring --> hw_wallet_sdk;
eth_trezor_keyring --> keyring_api;
eth_trezor_keyring --> keyring_sdk;
eth_trezor_keyring --> keyring_utils;
eth_trezor_keyring --> account_api;
keyring_internal_api --> keyring_api;
keyring_internal_api --> keyring_utils;
keyring_internal_snap_client --> keyring_api;
keyring_internal_snap_client --> keyring_internal_api;
keyring_internal_snap_client --> keyring_snap_client;
keyring_internal_snap_client --> keyring_utils;
keyring_sdk --> keyring_api;
keyring_sdk --> keyring_utils;
eth_snap_keyring --> keyring_internal_api;
eth_snap_keyring --> keyring_internal_snap_client;
eth_snap_keyring --> keyring_sdk;
eth_snap_keyring --> keyring_snap_sdk;
eth_snap_keyring --> keyring_utils;
eth_snap_keyring --> keyring_api;
keyring_snap_client --> keyring_api;
keyring_snap_client --> keyring_utils;
keyring_snap_sdk --> keyring_utils;
keyring_snap_sdk --> keyring_api;
```
Refer to individual packages for usage instructions.
## Learn more
[^fn1]: The package list and dependency graph should be programmatically generated by running `yarn readme:update`.