Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
24

Integrated address is just your normal address with some extra data bundled with it (the 64-bit payment ID). Standard public address is made of: network byte 18 + public spend key + public view key + checksum Integrated public address is made of: network byte 19 + public spend key + public view key + 64-bit payment ID + checksum While the resulting ...


17

This post from a while back on Reddit documents what a payment ID is and how it is used quite nicely. Note that an integrated address includes a payment ID and is a preferable way to send and receive Monero. Payment IDs are needed when sending to an exchange, such as Poloniex or to a merchant. It allows Poloniex to confirm the transaction is yours, ...


11

simplewallet will create a random payment id for you with the "integrated_address" command (and give you the matching integrated address too). This is available via RPC as well if you want this automated. The advantage of integrated addresses are (1) convenience of having one piece of data instead of two, and (2) familiarity with people who never saw ...


10

There are no plans to do so at this time. If there were, it'd need to leave a large amount of time for current users of payment ids to switch to integrated addresses. One difference between new style and old style payment ids is the size: old ones are 256 bits, while new ones are 64 bits. It is plausible that some party could find a use for 256 bits to ...


9

Anyone without the view key can see the 'long' payment ID (64-char hex string). Here's an example: https://xmrchain.net/tx/09b862419da472c03fc9cb956fc3bd299ec8d36b88a58a79f88c34418de85bb5 Note that it is highly discouraged to reuse the same long payment ID in multiple transactions because those transactions are easily linked. Here's a search result of the ...


9

Payment ID is really a message attached to the TX. It can either be encrypted or unencrypted, depending which scheme is used. Usually it's only important when sending to exchanges, services etc. because they use just one address for receiving funds from different users and PID is the only way they can tell apart transactions coming from different users. If ...


9

A Monero address: 4[0-9AB][123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{93} A payment ID: ([0-9a-fA-F]{16}|[0-9a-fA-F]{64})


8

Update May-2017: there has been some novel research into this, and it will be possible to tweak the sending wallet to allow sending to a special address acting as an "alias". The funds would go to the same wallet regardless of the number of these "alias" addresses used. The scheme makes it so that given an "alias" address, you can't work out the regular ...


8

Since StackExchange prefers content to be on the site rather than through links, I've transcribed and annotated the information from luigi1111 on PasteBin to make it more accessible for readers. Stealth Short Payment IDs This is a proposal for shortening both "user" and "blockchain" payment IDs from 256 bit (32 bytes) to 64 bit (8 bytes), incorporating a ...


8

We're slowly trying to phase out long payment IDs, because they are (i) detrimental to user experience and (ii) privacy. Therefore, in CLI & GUI v0.14, it will be more difficult to make use of a long payment ID. You can, however, still use them (although, please ask your service to phase them out too). This is done as follows: In case you are using the ...


7

Here are a couple other methods you can use in linux to generate payment ids. od -N32 -An -tx1 < /dev/random | tr -d '[:space:] and if you want to use as few linux dependencies as possible, you can use, rand=$(awk 'BEGIN{srand();for(i=1;i<=64;i++)printf "%x", int(rand()*16)}') echo $rand if you are really lazy, you could also use the website here ...


6

Payment IDs are not required if it is your own wallet address. Payment IDs are only required if sending to a custodial wallet because most custodians only have one XMR address thus the need for a unique payment ID which the custodian will provide to you. You can however always set any payment ID you want either 16 or 64 characters hex (0 thru 9, A, B, C, D,...


6

Using a non-random plaintext ID doesn't hurt your privacy (unless you publish it somewhere to link it to yourself), but reusing the same plaintext ID significantly reduces your privacy. There should be no issue reusing an encrypted ID (the plaintext version, as in the integrated address) in the context of the Monero blockchain (this answer does not address ...


6

Integrated addresses are an amalgamation of a standard Monero address and a short payment id, bundled in one single string. They are intended to be used when a recipient requires a payment id, and they have two main advantages over the historical practice of supplying a standard address and a payment id: it is self contained, including a checksum, so it ...


6

Yes you can do it, but. There are 2 options which you can use at the moment: plain-text 256-bit PID and encrypted 64-bit PID as part of the integrated address scheme. In principle, you could put anything in the tx-extra field but you'd need to customize the wallet software to do this. Plain-text 256-bit PID - You could encode a string of 32 ASCII ...


6

A payment ID is optional, and determined by whoever you're sending to. If you're sending to yourself, then you do not need a payment ID (or you can make one up as you see fit). The payment ID is arbitrary data which the recipient can use to associate with a sender: for instance, if you were to sent to Poloniex (instead of your on wallet), then Poloniex ...


5

A random 256 bit hex string is fine, it is simply random data that can help differentiate it from other transactions that are sent to the same receiver. This question, should have more info on generating a payment id.


5

Payment ID is really a message attached to the TX. Usually it's only important when sending to exchanges, services etc. because they use just one address for receiving funds from different users and PID is the only way they can tell them apart. Sending If you're sending to an integrated address then just use: transfer [address] [amount]. You can recognize ...


5

There are two kinds of Payment IDs: the original kind is 32 bytes long, and are plaintext on the blockchain. the new kind of 8 bytes long, and are encrypted on the blockchain. The new kind are normally embedded in the address, forming an integrated address. The old kind is not, and is specified manually. They're usually input as hexadecimal, so indeed ...


4

Yes, this is possible, though I don't think a wallet implementation of it exists at the moment. First, we need to understand that OpenAlias is simply a protocol whereby a DNS lookup can be used to query an alias, such as donate@getmonero.org, and return a regular address. As of 21 March 2017 for this example, this is: ...


4

Padding is for adding freeform data of arbitrary length. It can be used to embed any data, for example a human readable mesage. Pubkey is for the transaction public key (R in the Cryptonote whitepaper). Nonce is for extra data, currently only used for the payment ID. Classic style payment IDs are 256 bits and unencrypted, while integrated address payment ...


4

It looks like it's undocumented, but I just tested with version 0.10 and it behaves as expected with your syntax. sweep_all <address> <payment_id>


4

I'm pretty sure the payment id can be shorter, and it is simply padded if it's too short. That said it shouldn't matter too much as it is encrypted so only the sender and receiver knows the contents.


4

When you send funds to an integrated address, what you're actually doing is sending funds to the recipient's underlying Monero wallet address and simultaneously attaching an encrypted payment ID to the transaction. According to the current specification, there can only be one payment ID specified in the tx_extra field. Because of this, only one integrated ...


3

Payments IDs are simply a note attached to a transaction, similar to you jotting down a note on a cheque to let the person you're sending it to know what it's for, or a reference number on a bank's direct debit. They're typically optional, so I'm guessing the payment id field you're referencing is optional too. But if you think it might go awry if you leave ...


3

It's something that we toyed about a while back, but it has one large disadvantage: such an address must not be reused (I assume the math behind that version is similar to the ones we were looking at). Reusing the address would mean only one of the outputs to that address would be spendable, so would be like burning monero. Now, consensus rules could be ...


3

There are two kinds of payment ids: plaintext ones, and encrypted ones. Plaintext ones can be viewed in a block explorer, and one such example is found in block 1412534, transaction 2fbf1e227847b9bf604aee0e567531196214f8dae9dbc687f1e70bef4cf4ea67: http://moneroblocks.info/tx/2fbf1e227847b9bf604aee0e567531196214f8dae9dbc687f1e70bef4cf4ea67 You can see this ...


3

Payment IDs come in two forms: Old style payment IDs are 256 bits, and are plaintext. That's 64 hexadecimal characters. New style payment Ids are 64 bits, encrypted on the blockchain. That's 16 hexadecimal characters. Those are almost always embedded in an integrated address, which conveniently pack both your standard Monero address and the payment ID. If ...


Only top voted, non community-wiki answers of a minimum length are eligible