{"id":21660231,"url":"https://github.com/MetaMask/core","last_synced_at":"2025-07-17T23:31:09.009Z","repository":{"id":37068767,"uuid":"135296009","full_name":"MetaMask/core","owner":"MetaMask","description":"This monorepo is a collection of packages used across multiple MetaMask clients","archived":false,"fork":false,"pushed_at":"2024-10-29T11:37:20.000Z","size":31182,"stargazers_count":288,"open_issues_count":295,"forks_count":185,"subscribers_count":64,"default_branch":"main","last_synced_at":"2024-10-29T11:39:51.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MetaMask.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"metamask","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-05-29T12:55:25.000Z","updated_at":"2024-10-29T11:25:16.000Z","dependencies_parsed_at":"2023-09-23T13:56:11.427Z","dependency_job_id":"a010c368-2684-4303-9bdf-7f2a6a9bd72b","html_url":"https://github.com/MetaMask/core","commit_stats":{"total_commits":2498,"total_committers":111,"mean_commits":"22.504504504504503","dds":0.877502001601281,"last_synced_commit":"1b092d6020624d4ce27114137ea9c1e3922ab405"},"previous_names":["metamask/controllers","metamask/gaba"],"tags_count":1346,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MetaMask","download_url":"https://codeload.github.com/MetaMask/core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225234853,"owners_count":17442226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T09:32:31.853Z","updated_at":"2025-07-17T23:31:09.000Z","avatar_url":"https://github.com/MetaMask.png","language":"TypeScript","readme":"# Core Monorepo\n\nThis monorepo is a collection of packages used across multiple MetaMask clients (e.g. [`metamask-extension`](https://github.com/MetaMask/metamask-extension/), [`metamask-mobile`](https://github.com/MetaMask/metamask-mobile/)).\n\n## Contributing\n\nSee the [Contributor Guide](./docs/contributing.md) for help on:\n\n- Setting up your development environment\n- Working with the monorepo\n- Testing changes in clients\n- Issuing new releases\n- Creating a new package\n\n## Installation/Usage\n\nEach package in this repository has its own README where you can find installation and usage instructions. See `packages/` for more.\n\n## Packages\n\n\u003c!-- start package list --\u003e\n\n- [`@metamask/account-tree-controller`](packages/account-tree-controller)\n- [`@metamask/accounts-controller`](packages/accounts-controller)\n- [`@metamask/address-book-controller`](packages/address-book-controller)\n- [`@metamask/announcement-controller`](packages/announcement-controller)\n- [`@metamask/app-metadata-controller`](packages/app-metadata-controller)\n- [`@metamask/approval-controller`](packages/approval-controller)\n- [`@metamask/assets-controllers`](packages/assets-controllers)\n- [`@metamask/base-controller`](packages/base-controller)\n- [`@metamask/bridge-controller`](packages/bridge-controller)\n- [`@metamask/bridge-status-controller`](packages/bridge-status-controller)\n- [`@metamask/build-utils`](packages/build-utils)\n- [`@metamask/chain-agnostic-permission`](packages/chain-agnostic-permission)\n- [`@metamask/composable-controller`](packages/composable-controller)\n- [`@metamask/controller-utils`](packages/controller-utils)\n- [`@metamask/delegation-controller`](packages/delegation-controller)\n- [`@metamask/earn-controller`](packages/earn-controller)\n- [`@metamask/eip1193-permission-middleware`](packages/eip1193-permission-middleware)\n- [`@metamask/ens-controller`](packages/ens-controller)\n- [`@metamask/error-reporting-service`](packages/error-reporting-service)\n- [`@metamask/eth-json-rpc-provider`](packages/eth-json-rpc-provider)\n- [`@metamask/foundryup`](packages/foundryup)\n- [`@metamask/gas-fee-controller`](packages/gas-fee-controller)\n- [`@metamask/json-rpc-engine`](packages/json-rpc-engine)\n- [`@metamask/json-rpc-middleware-stream`](packages/json-rpc-middleware-stream)\n- [`@metamask/keyring-controller`](packages/keyring-controller)\n- [`@metamask/logging-controller`](packages/logging-controller)\n- [`@metamask/message-manager`](packages/message-manager)\n- [`@metamask/messenger`](packages/messenger)\n- [`@metamask/multichain-api-middleware`](packages/multichain-api-middleware)\n- [`@metamask/multichain-network-controller`](packages/multichain-network-controller)\n- [`@metamask/multichain-transactions-controller`](packages/multichain-transactions-controller)\n- [`@metamask/name-controller`](packages/name-controller)\n- [`@metamask/network-controller`](packages/network-controller)\n- [`@metamask/notification-services-controller`](packages/notification-services-controller)\n- [`@metamask/permission-controller`](packages/permission-controller)\n- [`@metamask/permission-log-controller`](packages/permission-log-controller)\n- [`@metamask/phishing-controller`](packages/phishing-controller)\n- [`@metamask/polling-controller`](packages/polling-controller)\n- [`@metamask/preferences-controller`](packages/preferences-controller)\n- [`@metamask/profile-sync-controller`](packages/profile-sync-controller)\n- [`@metamask/rate-limit-controller`](packages/rate-limit-controller)\n- [`@metamask/remote-feature-flag-controller`](packages/remote-feature-flag-controller)\n- [`@metamask/sample-controllers`](packages/sample-controllers)\n- [`@metamask/seedless-onboarding-controller`](packages/seedless-onboarding-controller)\n- [`@metamask/selected-network-controller`](packages/selected-network-controller)\n- [`@metamask/signature-controller`](packages/signature-controller)\n- [`@metamask/token-search-discovery-controller`](packages/token-search-discovery-controller)\n- [`@metamask/transaction-controller`](packages/transaction-controller)\n- [`@metamask/user-operation-controller`](packages/user-operation-controller)\n\n\u003c!-- end package list --\u003e\n\n\u003c!-- start dependency graph --\u003e\n\n```mermaid\n%%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%%\ngraph LR;\nlinkStyle default opacity:0.5\n  account_tree_controller([\"@metamask/account-tree-controller\"]);\n  accounts_controller([\"@metamask/accounts-controller\"]);\n  address_book_controller([\"@metamask/address-book-controller\"]);\n  announcement_controller([\"@metamask/announcement-controller\"]);\n  app_metadata_controller([\"@metamask/app-metadata-controller\"]);\n  approval_controller([\"@metamask/approval-controller\"]);\n  assets_controllers([\"@metamask/assets-controllers\"]);\n  base_controller([\"@metamask/base-controller\"]);\n  bridge_controller([\"@metamask/bridge-controller\"]);\n  bridge_status_controller([\"@metamask/bridge-status-controller\"]);\n  build_utils([\"@metamask/build-utils\"]);\n  chain_agnostic_permission([\"@metamask/chain-agnostic-permission\"]);\n  composable_controller([\"@metamask/composable-controller\"]);\n  controller_utils([\"@metamask/controller-utils\"]);\n  delegation_controller([\"@metamask/delegation-controller\"]);\n  earn_controller([\"@metamask/earn-controller\"]);\n  eip1193_permission_middleware([\"@metamask/eip1193-permission-middleware\"]);\n  ens_controller([\"@metamask/ens-controller\"]);\n  error_reporting_service([\"@metamask/error-reporting-service\"]);\n  eth_json_rpc_provider([\"@metamask/eth-json-rpc-provider\"]);\n  foundryup([\"@metamask/foundryup\"]);\n  gas_fee_controller([\"@metamask/gas-fee-controller\"]);\n  json_rpc_engine([\"@metamask/json-rpc-engine\"]);\n  json_rpc_middleware_stream([\"@metamask/json-rpc-middleware-stream\"]);\n  keyring_controller([\"@metamask/keyring-controller\"]);\n  logging_controller([\"@metamask/logging-controller\"]);\n  message_manager([\"@metamask/message-manager\"]);\n  messenger([\"@metamask/messenger\"]);\n  multichain_api_middleware([\"@metamask/multichain-api-middleware\"]);\n  multichain_network_controller([\"@metamask/multichain-network-controller\"]);\n  multichain_transactions_controller([\"@metamask/multichain-transactions-controller\"]);\n  name_controller([\"@metamask/name-controller\"]);\n  network_controller([\"@metamask/network-controller\"]);\n  notification_services_controller([\"@metamask/notification-services-controller\"]);\n  permission_controller([\"@metamask/permission-controller\"]);\n  permission_log_controller([\"@metamask/permission-log-controller\"]);\n  phishing_controller([\"@metamask/phishing-controller\"]);\n  polling_controller([\"@metamask/polling-controller\"]);\n  preferences_controller([\"@metamask/preferences-controller\"]);\n  profile_sync_controller([\"@metamask/profile-sync-controller\"]);\n  rate_limit_controller([\"@metamask/rate-limit-controller\"]);\n  remote_feature_flag_controller([\"@metamask/remote-feature-flag-controller\"]);\n  sample_controllers([\"@metamask/sample-controllers\"]);\n  seedless_onboarding_controller([\"@metamask/seedless-onboarding-controller\"]);\n  selected_network_controller([\"@metamask/selected-network-controller\"]);\n  signature_controller([\"@metamask/signature-controller\"]);\n  token_search_discovery_controller([\"@metamask/token-search-discovery-controller\"]);\n  transaction_controller([\"@metamask/transaction-controller\"]);\n  user_operation_controller([\"@metamask/user-operation-controller\"]);\n  account_tree_controller --\u003e base_controller;\n  account_tree_controller --\u003e accounts_controller;\n  account_tree_controller --\u003e keyring_controller;\n  accounts_controller --\u003e base_controller;\n  accounts_controller --\u003e keyring_controller;\n  accounts_controller --\u003e network_controller;\n  address_book_controller --\u003e base_controller;\n  address_book_controller --\u003e controller_utils;\n  announcement_controller --\u003e base_controller;\n  app_metadata_controller --\u003e base_controller;\n  approval_controller --\u003e base_controller;\n  assets_controllers --\u003e base_controller;\n  assets_controllers --\u003e controller_utils;\n  assets_controllers --\u003e polling_controller;\n  assets_controllers --\u003e accounts_controller;\n  assets_controllers --\u003e approval_controller;\n  assets_controllers --\u003e keyring_controller;\n  assets_controllers --\u003e network_controller;\n  assets_controllers --\u003e permission_controller;\n  assets_controllers --\u003e phishing_controller;\n  assets_controllers --\u003e preferences_controller;\n  assets_controllers --\u003e transaction_controller;\n  base_controller --\u003e json_rpc_engine;\n  bridge_controller --\u003e base_controller;\n  bridge_controller --\u003e controller_utils;\n  bridge_controller --\u003e gas_fee_controller;\n  bridge_controller --\u003e multichain_network_controller;\n  bridge_controller --\u003e polling_controller;\n  bridge_controller --\u003e accounts_controller;\n  bridge_controller --\u003e assets_controllers;\n  bridge_controller --\u003e eth_json_rpc_provider;\n  bridge_controller --\u003e network_controller;\n  bridge_controller --\u003e remote_feature_flag_controller;\n  bridge_controller --\u003e transaction_controller;\n  bridge_status_controller --\u003e base_controller;\n  bridge_status_controller --\u003e controller_utils;\n  bridge_status_controller --\u003e polling_controller;\n  bridge_status_controller --\u003e accounts_controller;\n  bridge_status_controller --\u003e bridge_controller;\n  bridge_status_controller --\u003e gas_fee_controller;\n  bridge_status_controller --\u003e network_controller;\n  bridge_status_controller --\u003e transaction_controller;\n  chain_agnostic_permission --\u003e controller_utils;\n  chain_agnostic_permission --\u003e network_controller;\n  chain_agnostic_permission --\u003e permission_controller;\n  composable_controller --\u003e base_controller;\n  composable_controller --\u003e json_rpc_engine;\n  delegation_controller --\u003e base_controller;\n  delegation_controller --\u003e accounts_controller;\n  delegation_controller --\u003e keyring_controller;\n  earn_controller --\u003e base_controller;\n  earn_controller --\u003e controller_utils;\n  earn_controller --\u003e accounts_controller;\n  earn_controller --\u003e network_controller;\n  earn_controller --\u003e transaction_controller;\n  eip1193_permission_middleware --\u003e chain_agnostic_permission;\n  eip1193_permission_middleware --\u003e controller_utils;\n  eip1193_permission_middleware --\u003e json_rpc_engine;\n  eip1193_permission_middleware --\u003e permission_controller;\n  ens_controller --\u003e base_controller;\n  ens_controller --\u003e controller_utils;\n  ens_controller --\u003e network_controller;\n  error_reporting_service --\u003e base_controller;\n  eth_json_rpc_provider --\u003e json_rpc_engine;\n  gas_fee_controller --\u003e base_controller;\n  gas_fee_controller --\u003e controller_utils;\n  gas_fee_controller --\u003e polling_controller;\n  gas_fee_controller --\u003e network_controller;\n  json_rpc_middleware_stream --\u003e json_rpc_engine;\n  keyring_controller --\u003e base_controller;\n  logging_controller --\u003e base_controller;\n  logging_controller --\u003e controller_utils;\n  message_manager --\u003e base_controller;\n  message_manager --\u003e controller_utils;\n  multichain_api_middleware --\u003e chain_agnostic_permission;\n  multichain_api_middleware --\u003e controller_utils;\n  multichain_api_middleware --\u003e json_rpc_engine;\n  multichain_api_middleware --\u003e network_controller;\n  multichain_api_middleware --\u003e permission_controller;\n  multichain_api_middleware --\u003e multichain_transactions_controller;\n  multichain_network_controller --\u003e base_controller;\n  multichain_network_controller --\u003e controller_utils;\n  multichain_network_controller --\u003e accounts_controller;\n  multichain_network_controller --\u003e keyring_controller;\n  multichain_network_controller --\u003e network_controller;\n  multichain_transactions_controller --\u003e base_controller;\n  multichain_transactions_controller --\u003e polling_controller;\n  multichain_transactions_controller --\u003e accounts_controller;\n  multichain_transactions_controller --\u003e keyring_controller;\n  name_controller --\u003e base_controller;\n  name_controller --\u003e controller_utils;\n  network_controller --\u003e base_controller;\n  network_controller --\u003e controller_utils;\n  network_controller --\u003e eth_json_rpc_provider;\n  network_controller --\u003e json_rpc_engine;\n  network_controller --\u003e error_reporting_service;\n  notification_services_controller --\u003e base_controller;\n  notification_services_controller --\u003e controller_utils;\n  notification_services_controller --\u003e keyring_controller;\n  notification_services_controller --\u003e profile_sync_controller;\n  permission_controller --\u003e base_controller;\n  permission_controller --\u003e controller_utils;\n  permission_controller --\u003e json_rpc_engine;\n  permission_controller --\u003e approval_controller;\n  permission_log_controller --\u003e base_controller;\n  permission_log_controller --\u003e json_rpc_engine;\n  phishing_controller --\u003e base_controller;\n  phishing_controller --\u003e controller_utils;\n  polling_controller --\u003e base_controller;\n  polling_controller --\u003e controller_utils;\n  polling_controller --\u003e network_controller;\n  preferences_controller --\u003e base_controller;\n  preferences_controller --\u003e controller_utils;\n  preferences_controller --\u003e keyring_controller;\n  profile_sync_controller --\u003e base_controller;\n  profile_sync_controller --\u003e accounts_controller;\n  profile_sync_controller --\u003e keyring_controller;\n  rate_limit_controller --\u003e base_controller;\n  remote_feature_flag_controller --\u003e base_controller;\n  remote_feature_flag_controller --\u003e controller_utils;\n  sample_controllers --\u003e base_controller;\n  sample_controllers --\u003e controller_utils;\n  sample_controllers --\u003e network_controller;\n  seedless_onboarding_controller --\u003e base_controller;\n  seedless_onboarding_controller --\u003e keyring_controller;\n  selected_network_controller --\u003e base_controller;\n  selected_network_controller --\u003e json_rpc_engine;\n  selected_network_controller --\u003e network_controller;\n  selected_network_controller --\u003e permission_controller;\n  signature_controller --\u003e base_controller;\n  signature_controller --\u003e controller_utils;\n  signature_controller --\u003e accounts_controller;\n  signature_controller --\u003e approval_controller;\n  signature_controller --\u003e keyring_controller;\n  signature_controller --\u003e logging_controller;\n  signature_controller --\u003e network_controller;\n  token_search_discovery_controller --\u003e base_controller;\n  transaction_controller --\u003e base_controller;\n  transaction_controller --\u003e controller_utils;\n  transaction_controller --\u003e accounts_controller;\n  transaction_controller --\u003e approval_controller;\n  transaction_controller --\u003e eth_json_rpc_provider;\n  transaction_controller --\u003e gas_fee_controller;\n  transaction_controller --\u003e network_controller;\n  transaction_controller --\u003e remote_feature_flag_controller;\n  user_operation_controller --\u003e base_controller;\n  user_operation_controller --\u003e controller_utils;\n  user_operation_controller --\u003e polling_controller;\n  user_operation_controller --\u003e approval_controller;\n  user_operation_controller --\u003e gas_fee_controller;\n  user_operation_controller --\u003e keyring_controller;\n  user_operation_controller --\u003e network_controller;\n  user_operation_controller --\u003e transaction_controller;\n```\n\n\u003c!-- end dependency graph --\u003e\n\n(This section may be regenerated at any time by running `yarn update-readme-content`.)\n","funding_links":["https://opencollective.com/metamask"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMetaMask%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMetaMask%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMetaMask%2Fcore/lists"}