Claiming Morse Accounts
Account Definition
This page describes how to claim a Morse "Account" on Shannon.
This covers accounts which:
- DO have a non-zero POKT balance
- DO NOT have any POKT staked
- ARE NOT staked as an Application
- ARE NOT staked as a Supplier
How do I claim my Morse POKT?
0. Prerequisites
You have read the introduction in Claiming Introduction and ensure:
- You have installed the Morse
pocket
CLI - You have installed the Shannon
pocketd
CLI - You have imported your Morse key into a keyring
- You have a valid RPC endpoint
1. Export your Morse keyfile.json
Export your keyfile.json
from the Morse keyring to pocket-account-<morse-address>.json
like so:
pocket accounts export <morse-address>
Or specify a custom path:
pocket accounts export <morse-address> --path <custom-path>.json
If you have your private key hex and want to import your Morse account first, you can do it like so
pocket accounts import-raw <priv-key-hex>
When exporting the account, you will be prompted with Enter Encrypt Passphrase
. Please be sure to remember or write it down!
2. Create a new Shannon key
pocketd keys add <your_shannon_key_name>
3. Create your onchain Shannon account
If you're using a newly generated key/account, then you will need to use one of the (network-specific) community faucets to trigger onchain account creation.
For testnets, you can send yourself either uPOKT or MACT ("Morse Account Claimer Token"). Only 1 of EITHER minimal denomination is sufficient to create the onchain account, such that it is ready to be used for claiming.
The only token available via Mainnet faucet(s) is MACT.
Why do we need MACT?
MACT is needed to enable users to claim their Morse accounts using new Shannon accounts. These new accounts must exist onchain before they can be used, which requires a transaction to create them. MACT provides a simple and dedicated way to do this. A public faucet will distribute MACT so users can prepare their accounts without relying on other tokens, making the claiming process smooth and accessible.
Use one of the following faucets:
- Alpha Testnet
- Beta Testnet
- Mainnet: TODO(@olshansk): Coming soon...
If you're a Grove Employee, you can use the helpers here to fund the account like so:
# Get the Shannon address
pocketd keys show <your_shannon_key_name> -a
# Fund the Shannon key with 1MPOKT
pkd_<NETWORK>fund_pokt <your_shannon_address>
# OR
# Fund the Shannon key with 1MACT
pkd_<NETWORK>fund_mact <your_shannon_address>
4. Ensure your Shannon account exists onchain
# Ensure this returns a nonzero balance
pocketd query bank balances <your_shannon_key_name> --node=${RPC_ENDPOINT}
5. Check your claimable Morse account
For this next step, you will need to convert your Morse address from lower case to ALL CAPS. You can ask an AI to perform this for you.
pocketd query migration show-morse-claimable-account \
<morse-address-ALL-CAPS> \
--node=${RPC_ENDPOINT}
6. Claim your Morse Pocket
Running the following command:
pocketd tx migration claim-account \
pocket-account-<morse-keyfile-export>.json \
--from=<your_shannon_key_name> \
--node=${RPC_ENDPOINT} --chain-id <chain-id>
The above will prompt for your generated Morse Encrypt Passphrase and produce output similar to the following:
Enter Decrypt Passphrase:
MsgClaimMorseAccount {
"shannon_dest_address": "pokt1mrqt5f7qh8uxs27cjm9t7v9e74a9vvdnq5jva4",
"morse_src_address": "8B257C7F4E884E49BAFC540D874F33F91436E1DC",
"morse_signature": "hLGhLRjP6jgP6wgOIaYFxIxT3z4jb4IBDKovMkX5AqUsOqdF+rEIO5aofOKnmYW9BkqL0v2DfUfE3nj25FNhBA=="
}
Confirm MsgClaimMorseAccount: y/[n]:
This step may sit in your terminal for a minute or so. Be patient and don't panic, it is working!
7. Verify your Shannon balance
pocketd query bank balances <your_shannon_address> --node=${RPC_ENDPOINT}
Troubleshooting
Transaction signing errors
If you're hitting errors related to signature verification, ensure you've specified the following flags based on your environment and keyring config
--chain-id
: one ofpocket-alpha
,pocket-beta
,pocket
--home
: the path to your keyring directory--keyring-backend
: one oftest
,file
,os
,kwallet
,pass
,keosd
Onchain Fee Requirement
pocketd query migration params --node=${RPC_ENDPOINT} --home=~/.pocketd
params:
waive_morse_claim_gas_fees: true