Retrieves the currently connected account the user has selected on Metamask. If it's the first time, a new is created and the account info is saved in snap state.
Returns the account info currently stored within the snap state. Note that this info may not be up-to-date with the info on the ledger. If you want to retrieve the most up-to-date info from the ledger, you will need to call .
Some example responses:
For a hedera account id 0.0.3581604:
const snapId = `npm:@hashgraph/hedera-wallet-snap`
const handleHelloAPI = async () => {
await window.ethereum.request({
method: 'wallet_invokeSnap',
params: {
snapId,
request: {
method: 'getCurrentAccount',
params: {
network: 'testnet'
}
}
}
})
}You can also check out the API reference to learn how each API works.
{
"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"
}
}Retrieves the currently connected account the user has selected on Metamask. If it's the first time, a new 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:
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'
}
}
}
})
}You can also check out the API reference to learn how each API works.

{
"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"
}
}