About memos
A memo is an additional metadata necessary for identifying a transaction recipient behind a wallet address.
In most cases, a memo is unnecessary when transferring POLYX between accounts, but it may be necessary in some cases, such as sending to a custodian with an omnibus wallet. In this case, the custodian will need a memo to ensure they properly credit a specific user's balance.
There are 2 methods to use memos. This guide will cover both.
1) POLYX Transactions using the Polymesh Dashboard
2) POLYX Transactions using the Polymesh App
3) POLYX Transactions using a dedicated app
4) Token Transactions using the Polymesh Dashboard
5) Token Transactions using the Polymesh App
POLYX Transactions using the Polymesh Dashboard
1. Open the Polymesh Dashboard.
2. Click on "Send":
3. A pop-up will appear to send POLYX. You can enter the destination address, the memo, and the amount of POLYX you would like to send here.
Note: The destination address begins with 2 and must be a verified Polymesh account.
4. Click on "Next" and then confirm the transaction.
5. Sign the transaction with your wallet.
6. A pop-up will appear indicating success and a link to the transaction on the block explorer, in case it's needed.
POLYX Transactions using the Polymesh App
- Go to the Polymesh app.
- Select the account you want to send POLYX from, and input in the field "using the selected account".
- For the extrinsic, select "balances" then "transferWithMemo(dest, value, memo)".
- Destination: Enter the Polymesh address you want to send POLYX to. It should be a verified address that starts with 2.
- Value: Enter the value of POLYX you want to send and ensure the drop-down on the right hand side reads "POLYX".
Click here to see this image at full resolution. - Memo: To enter the memo, click on the “include option” toggle to make it available.
The memo should be in HEX format (use a HEX converter to convert, for the “Output delimiter string” select “None”) with a 0x prefix.
Click here to see this image at full resolution.
Example: Your memo is "testmemo", which is "746573746D656D6F" in HEX. This HEX value should be padded with zeros to be 32 bytes like "746573746D656D6F00000000000000000000000000000000000000000000000" with a 0x prefix, so the value you should enter is "0x746573746D656D6F00000000000000000000000000000000000000000000000".
Fill up the memo field with zeros until the below message in red disappears and delete one 0:
Click here to see this image at full resolution. - Once all data are filled, click on "Submit transaction"
Click here to see this image at full resolution. - Another popup window will appear, click on "Sign and Submit" and then sign the transaction with your wallet.
- A successful transaction is reflected with a green checkmark at the top right of the page:
POLYX Transactions using a dedicated app
Alternatively, you can send POLYX with a memo with this web app:
- Connect to the web app by authorizing the connection with your wallet.
- The sending address should be already filled in, however, you can select another address from the dropdown menu.
- Enter the destination address. It is another Polymesh address that begins with 2.
- Enter the POLYX amount to be sent. It should not exceed your available balance.
- Enter the memo in the memo field.
- Click on "Submit transfer" and then sign the transaction with your wallet.
Token Transactions using the Polymesh Dashboard
1. Open the Polymesh Dashboard.
2. On the "Security tokens" tab, scroll down to Portfolios.
3. You will see your Portfolios and your assets within. Click on "Send" where appropriate.
4. A new window will appear, fill the data as per the below:
- Select the asset you would like to send
- Enter the amount
- Select "Other Polymesh Account"
- Enter a memo
- Enter the recipient's Polymesh account. It must be a verified account that begins with 0x
- Once all data are filled, click on "Send"
4. Check if all data are correct, then click on "Confirm".
5. Sign the transaction with your wallet.
6. A pop-up will appear indicating success and a link to the transaction on the block explorer, in case it's needed.
Token Transactions using the Polymesh App
Step 1: Create a Venue
Before proceeding to the token transfer, a venue must be created. Venues are logical groups of instructions and settlements. All settlement instructions are created within a venue in Polymesh.
Each user would only need to create one venue that they can reuse.
Follow the process below to create a venue:
- Go to the Polymesh App.
- For the account at the top, select your Polymesh account.
- For the extrinsic, select "settlement" then "createVenue(details, signers, typ)".
- Enter a name/description for the venue in the details field in text format. In this example, we are using "test":
Click here to see this image at full resolution. - AccountId32: Choose the account you want to sign this transaction. This will likely be the same account you've chosen in step 2.
- Type: Leave it as "Other". It should look as per the screenshot below:
Click here to see this image at full resolution. - Once all data are filled, click on "Submit Transaction" at the right-left of the page:
- Another popup window will appear, click on "Sign and Submit" and then sign the transaction with your wallet.
- Successful transaction is reflected with a green checkmark at the top right of the page:
Step 2: Retrieve the VenueID
- Open the Polymesh Block Explorer
- Copy the key from your wallet (which starts with 2), then do a search in Subscan for it:
Click here to see this image at full resolution.
The screenshot is on Testnet where addresses start with 5. On Mainnet, addresses begin with 2. - On the account page, scroll down to the Extrinsics, where you will see the venue you've just created with the action named "settlement (create_venue)". Click on the Extrinsic ID:
Click here to see this image at full resolution. - You will be directed to the details of the extrinsic. Scroll down to the Events at the bottom to the action named "settlement (VenueCreated)".
- Click on the triangle on the right-hand side to expand it:
Click here to see this image at full resolution. - You will see the VenueId, in this example, it's 1252. Note this down as you will need it at the next step.
Step 3: Transfer a token with a memo
- Go back to the Polymesh Mainnet App.
- For the account at the top, select the account you want to send tokens from.
- For the extrinsic, select "settlement" then "addAndAffirmInstructionWithMemo".
Click here to see this image at full resolution. - VenueID: Copy the venueID from received at Step 2.
- Settlement_type: Leave it on default "OnAffirmation".
- TradeDate and valueDate are optional, they can be left empty.
Click here to see this image at full resolution. - The next step is to fill the settlement's leg, the sender and the receivers DID.
The portfolio number can be left as Default. User portfolios are only needed if you are not using the default portfolio for the sender or the receiver.
Click here to see this image at full resolution. - Asset: Enter an asset name in HEX format you are about to transfer (use a HEX converter to convert, for the “Output delimiter string” select “None”)
Example: Your asset name is "My test token", which is "4D79207465737420746F6B656E" in HEX. This HEX value should be entered with a 0x prefix, so the value you need to enter is "0x4D79207465737420746F6B656E". - Amount: Enter the amount of token you like to transfer:
Click here to see this image at full resolution. - Click on "Remove item" to remove additional portfolios. The portfolio number is only needed if you are not using the default portfolio for the sender/receiver. If you are not using the default portfolio, you'll need to ask for the portfolio number from the receiver.
Click here to see this image at full resolution. - To enter the memo, click on the "Include option" toggle in the "Instructionsmemo" field to enable it, then enter the memo in HEX format ( use a HEX converter to convert, for the “Output delimiter string” select “None”) with a 0x prefix.
Click here to see this image at full resolution.
Example: Your memo is "testmemo", which is "746573746D656D6F" in HEX. This HEX value should be padded with zeros to be 32 bytes like "746573746D656D6F00000000000000000000000000000000000000000000000" with a 0x prefix, so the value you should enter is "0x746573746D656D6F00000000000000000000000000000000000000000000000".
Fill up the memo field with zeros until the below message in red disappears:
Click here to see this image at full resolution. - Once all data are filled, click on "Submit Transaction" at the right-left of the page:
- Another popup window will appear, click on "Sign and Submit" and then sign the transaction with your wallet.
- Successful transaction is reflected with a green checkmark at the top right of the page:
Learn more about settlements at the Polymesh Developer Portal.
If you have any questions, feel free to open a conversation with our support team through the Polymesh Community page.
Comments
0 comments
Please sign in to leave a comment.