showAccountPrivateKey
How to call the API from an app
const snapId = `npm:@hashgraph/hedera-wallet-snap`
const handleShowAccountPrivateKeyAPI = async () => {
await window.ethereum.request({
method: 'wallet_invokeSnap',
params: {
snapId,
request: {
method: 'showAccountPrivateKey',
params: {
network: 'testnet'
}
}
}
})
}What the API does
Retrieves the currently connected account the user has selected on Metamask. If it's the first time, a new snap account is created and the account info is saved in snap state.
Displays an alert dialog blox on Metamask with the private key of the snap account. The user can then copy it if they like. Note that the private key is never passed to the applications and is only displayed on the dialog box.

Some example responses:
For a hedera account id 0.0.3581604:
{
"currentAccount": {
"metamaskEvmAddress": "0x0b3628d1b838993b5fceec8b2a26502e7a8e5241",
"externalEvmAddress": "",
"hederaAccountId": "0.0.3581604",
"hederaEvmAddress": "0xca53f9c93d30e0b7212d67901e5a24fb090d542b",
"publicKey": "0x0206022cea4c6dd6d2e7263b8802253971de922f5380661d97cba82dee66f57ad6",
"balance": {
"hbars": 5.67332072,
"timestamp": "Wed, 13 Mar 2024 20:37:05 GMT",
"tokens": {
"0.0.3590430": {
"balance": 1,
"decimals": 1,
"tokenId": "0.0.3590430",
"name": "Token1",
"symbol": "KP1",
"tokenType": "FUNGIBLE_COMMON",
"supplyType": "INFINITE",
"totalSupply": "100",
"maxSupply": "0"
}
}
},
"network": "testnet",
"mirrorNodeUrl": "https://testnet.mirrornode.hedera.com"
}
}Live Demo on CodePen
Last updated
Was this helpful?

