X-Payment: Support for Integrated address deposits (XCB)

Caco
X-Cash
4 min readSep 5, 2022

--

As of today, the X-Payment team releases an integrated option to register your Discord Username for an integrated address.

The old way of depositing to X-Payment

X-Payment users were required when depositing to the X-Payment system to provide an XCA deposit address as well as an appropriate Payment ID. Both details, if correct, allowed us to credit the deposited amount of XCASH to the appropriate Discord username. As you can see below, the length of the payment ID screams for potential errors resulting in XCASH being lost if a single character is misplaced (The same applies for the XCA addresses).

In order to move away from errors, and relax the depositing process for the Discord user, we have therefore integrated support for Integrated public addresses.

What is the integrated address (XCB) on X-CASH?

An integrated address is in its simplicity a normal address bundled with some extra data (the payment id). Standard public addresses (XCA) are made of network bytes, public spend key, public view key, and checksum, while Integrated public address (XCB) adds to the structure as well 64-bit payment ID. It is beyond the scope of this article to dive further into technical details, so if you would like to obtain more information we invite you to check the full documentation on XCASH.

As described, Integrated addresses (XCB) are an amalgamation of a standard XCASH (XCA) address and a short payment id, merged into single string.

They are intended to be used when a recipient (In our case X-Payment system) requires a payment id (a unique identifier for the payer) in order to connect the incoming XCASH with the appropriate Discord Username.

The main two advantages of integrated addresses are:

  • The XCB address is self-contained, including a previously mentioned checksum, so it becomes much harder for the Discord User to forget the payment id, usually representing a common cause of trouble.
  • The XCB addresses use a short payment id (16 characters as opposed to previously integrated 64 characters), which will always be encrypted on the blockchain. This helps even further by increasing privacy and slightly decreasing blockchain size.

It is trivial for us to go from the integrated address to the standard address plus the long payment id. It is however important to remember that with our integration of integrated addresses, you should not view it as an action to obscure one’s address from the sender (In our case Discord User depositing to the X-Payment system).

The shift to integrated addresses is encouraged due to the above-mentioned reasons, and not many exchanges or other merchants building on XCASH currently support it.

How to register yourself with the integrated address?

Obtaining yourself an integrated address through X-Payment Discord Slash commands is straightforward.

Go to a server which has X-Payment installed, then enter any channel that it has access to. Execute command /account get_integrated, then wait a few seconds so X-Payment can create an integrated address for you. As the process of making an integrated address is complex in the backend, we have assigned rate limit of 1 registration per 10 seconds from server scope.

From this point onward you can use just the XCB address for depositing, without the need to provide an extra deposit id like previously. Information returned should be the newly created XCB integrated address as well as the content of it (XCA address, Short version of unique deposit id).

What happened to my previous XCA address and payment id?

Previous deposit details are still stored in our system and can be used for depositing as well. However, be advised that eventually, we will completely abandon the “old way” of depositing and provide only support for XCB.

Where can I check the new deposit details?

Command to check instructions for depositing has stayed the same /account deposit. What is different is the returned information. See the details below in the picture.

Where can I get assistance?

We have established communication channels through which you can reach us:

  • You can open up a Github ticket on dedicated X-Payment Repo
  • Join us over Discord through the invite link, find section X-Payment, and tag @Animus#4608
  • Send us a DM on Twitter to the account @XPaymentBot

Animus

X-Payment Lead

--

--

Caco
X-Cash

X-Cash Contributor, Web Dev, Graphic designer.