2

I am working on adopting CAP-0027 - First-class multiplexed accounts.

I assume that in the future, when one wishes to deposit to an exchange for example, the exchange will provide an address that is a union of the account ID and the memo ID in a single string. The wallet used by the user will have to take the long string from the user, break it to components and correctly build the transaction.

  • Is this correct?
  • How is the multiplexed account address single string built? Is it by simply concatenating the account ID and the memo ID? In which order? Any additional encoding instructions?
  • Can you show examples of such strings with their components?
1

This is correct.

The multiplexed account address is a 69 characters long string which is a result of the strkey encoding of the muxedAccount XDR type. The original ed25519PublicKey XDR encoding is 56 characters long.

The strkey encoding is currently in draft status: SEP-0023. Sample address strings can be found there:

Valid multiplexed account

  • Strkey: MAAAAAAAAAAAAAB7BQ2L7E5NBWMXDUCMZSIPOBKRDSBYVLMXGSSKF6YNPIB7Y77ITLVL6
  • Memo ID: 0
  • ed25519: GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ

Valid multiplexed account in which unsigned id exceeds maximum signed 64-bit integer

  • Strkey: MAAAAAAAAAAAAAB7BQ2L7E5NBWMXDUCMZSIPOBKRDSBYVLMXGSSKF6YNPIB7Y77ITLVL6
  • Memo ID: 9223372036854775808
  • ed25519: GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.