getCurrentAccount
How to call the API from an app
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'
}
}
}
})
}
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.
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 getAccountInfo snap API.
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?