About memos
A memo is an additional piece of 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 multiple methods to use memos. This guide will cover all of them.
1) POLYX Transactions using the Polymesh Portal
2) POLYX Transactions using the Polymesh App
3) POLYX Transactions using a dedicated app
4) Token Transactions using the Polymesh Portal
5) Token Transactions using the Polymesh App
POLYX Transactions using the Polymesh Portal
You can send POLYX with or without a memo from the Overview page by clicking on the Send button on the Balances card:
A popup window will appear. Fill in the details then click on the Send button to send POLYX:
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 Portal
Step 1. - Create Venue
Venues are logical groups of instructions and settlements. All settlement instructions are created within a venue in Polymesh. You can create and reuse a venue at any time.
You can create a venue by clicking on the Create Venue button:
A popup window will appear, enter a description for the venue and select the type of it, then click on the Confirm button:
Step 2. - Send Asset
You can easily send any of your assets by clicking on the Send Asset button:
Basic settlement instructions
A popup window will appear to send an asset, fill in the details below:
- Venue: Select a venue from the dropdown menu.
- Recipient: Enter the recipient's DID. It must be a verified account that begins with 0x.
- Memo (Optional): You can enter a memo for the transfer if you like.
- Asset: Select an asset you would like to transfer from the dropdown menu.
- Amount: Enter the amount you would like to transfer.
Once all data are filled, click the Send button and sign the transaction with your wallet.
Advanced settlement instructions
Advanced instructions support multiple legs and multiple parties, allowing for atomic swaps of assets without the need for a trusted escrow or smart contract.
Click on the Advanced tab and fill in the details below:
- Venue: Select a venue from the dropdown menu.
- Value Date (Optional): Enter the date from which this instruction is valid. It should be greater than or equal to the trade date.
- Trade Date (Optional): Enter the date on which this transaction is executed.
- Memo (Optional): You can enter a memo for the transfer if you like.
- Sender: Enter the sender's DID then select the sender's portfolio from the dropdown.
- Receiver: Enter the receiver's DID then select the receiver's portfolio from the dropdown.
- Asset: Select the asset you would like to transfer.
- Amount: Enter the amount you would like to transfer.
Once all data are filled, click the Send button and sign the transaction with your wallet.
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.