Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@metamask/bitcoin-wallet-snap

Package Overview
Dependencies
Maintainers
11
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/bitcoin-wallet-snap

A Bitcoin wallet Snap.

  • 0.8.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
11
Created
Source

Bitcoin Wallet Snap

Configuration

Rename .env.example to .env Configurations are setup though .env,

LOG_LEVEL=6
# Description: Environment variables for API key of BlockChair
# Required: false
BLOCKCHAIR_API_KEY=

Rpcs:

API keyring_createAccount

example:

provider.request({
  method: 'wallet_invokeKeyring',
  params: {
    snapId,
    request: {
      method: 'keyring_createAccount',
      params: {
        scope: 'bip122:000000000933ea01ad0ee984209779ba', // the CAIP-2 chain ID of bitcoin
      },
    },
  },
});

API keyring_getAccountBalances

example:

provider.request({
  method: 'wallet_invokeKeyring',
  params: {
    snapId,
    request: {
      method: 'keyring_getAccountBalances',
      params: {
        account: 'dc06350a-82db-434b-b113-066135804f63', // the uuid account id of the current account
        id: 'da40b782-e054-4260-9a6a-c8717a022f92', // an random uuid for this request
        assets: ['bip122:000000000019d6689c085ae165831e93/slip44:0'], // Caip-2 BTC Asset
      },
    },
  },
});

API chain_getTransactionStatus

example:

provider.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId,
    request: {
      method: 'chain_getTransactionStatus',
      params: {
        scope: 'bip122:000000000933ea01ad0ee984209779ba', // the CAIP-2 chain ID of bitcoin
        transactionId: '5639078d-742e-4901-8993-bc25a5ef6161', // the txn id of an bitcoin transaction
      },
    },
  },
});

API sendBitcoin

example:

provider.request({
  method: 'wallet_invokeKeyring',
  params: {
    snapId,
    request: {
      method: 'keyring_submitRequest',
      params: {
        account: 'dc06350a-82db-434b-b113-066135804f63', // the uuid account id of the current account
        id: 'da40b782-e054-4260-9a6a-c8717a022f92', // an random uuid for this request
        scope: 'bip122:000000000933ea01ad0ee984209779ba', // the CAIP-2 chain ID of bitcoin
        request: {
          method: 'sendBitcoin',
          params: {
            recipients: {
              ['tb1qlhkuysju47s642834n7f3tyk67mvnt2cfd9r7y']: '0.00000500',
            }, // the recipient struct to indicate how many BTC to be received for each recipient
            replaceable: true, // an flag to opt-in RBF
            dryrun: true, // an flag to enable similation of the transaction, without broadcast to network
          },
        },
      },
    },
  },
});

API estimateFee

example:

provider.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId,
    request: {
      method: 'estimateFee',
      params: {
        account: '9506e13e-d343-406f-8408-fad033ab7c0d', // the uuid account id of the current account
        amount: '0.00001', // transaction amount in BTC
      },
    },
  },
});

API getMaxSpendableBalance

example:

provider.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId,
    request: {
      method: 'getMaxSpendableBalance',
       params: {
          account: "9506e13e-d343-406f-8408-fad033ab7c0d", // the uuid account id of the current account
    },
  },
});

FAQs

Package last updated on 28 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc