Contents
For most coins an address is the whole destination. For a few, the address alone is not enough: the receiving side also wants a short number or text that tells it which customer the money is for. On the swap form that second field appears under the recipient address for exactly five assets, and whether you need to fill it depends on one question — is the address a personal wallet or an exchange account?
This guide covers the five, what the field is called on each network, what format it has, what happens when it is missing, and where to copy it from. Sources were checked on 11 October 2026.
The five assets and their field
| Asset on sablebolt.io | Field name on the form | What the network calls it | Format | Who needs it |
|---|---|---|---|---|
| XRP | Destination Tag | Destination tag | A whole number, 32-bit unsigned (0 to 4,294,967,295) | Exchanges and other hosted accounts |
| Stellar (XLM) | Memo | Memo, type MEMO_ID | A whole number, 64-bit unsigned | Exchanges and other pooled accounts |
| Hedera (HBAR) | Memo | Transaction memo | Text, up to 100 bytes | Exchanges that give all customers one account ID |
| Kaspa (KAS) | Public key | — (Kaspa has no memo field) | See the Kaspa section | Almost never; see below |
| USDT on TON | Payment ID | Comment (the text in the transfer's forward payload) | Text, shown by wallets and explorers | Exchanges that give all customers one TON address |
Everything else on the site — Bitcoin, Ethereum and its tokens, TRON, Solana, Monero, Litecoin, Zcash and the rest — has no second field. If a service asks you for a "memo" on one of those, read its page again: it usually means a reference for their own records, not something the network carries.
The one rule: wallet or exchange?
A personal wallet owns its address outright. Anything sent to the address is yours; there is nothing to tell apart. A personal wallet never needs the extra field, and the form says so under the field: required only if the receiving service asks for it.
An exchange is different. It would be expensive to keep a separate on-chain account for every customer on XRP, Stellar, Hedera or TON, so most exchanges run one deposit address for all customers and distinguish them by the tag or memo. The address identifies the exchange; the tag identifies you. Send to the address without the tag and the money reaches the exchange, but their system does not know whose it is.
So the decision is:
- Is the recipient address a personal wallet (yours, or a person's)? Leave the field empty.
- Is it an exchange, a broker, a payment service or any site that generated the address for you? Open their deposit page and look for a second value next to the address. If there is one, it is required.
XRP — destination tag
On the XRP Ledger a payment can carry a destination tag: a 32-bit unsigned integer that, in the words of the XRPL documentation, indicates the beneficiary or destination for a payment. It has no function on the ledger itself; it exists so the receiver's off-ledger system — an exchange's database — can see which customer to credit.
Format. Digits only, from 0 up to 4,294,967,295. No letters, no spaces.
Without it. Two things can happen. Some accounts set the ledger flag RequireDest, and the ledger then rejects a payment that has no tag; it never leaves the sender. Other accounts accept the payment, and the XRP arrives in the exchange's pooled balance with no customer attached; crediting it then means contacting the exchange's support with the transaction hash. Either way the fix is the same number you were supposed to enter.
Where to find it. On the exchange's deposit page for XRP, next to the address, labelled "Destination tag", "Tag" or "Memo". Copy both.
Routes with XRP on the receiving side: BTC → XRP. When XRP is what you send — for example XRP → USDT TRC-20 — the tag question is on the deposit side: if the status page shows a tag with the deposit address, include it in your wallet's send form.
Stellar — memo, type ID
Stellar transactions carry an optional memo. The Stellar developer documentation lists four types: MEMO_TEXT (up to 28 bytes of text), MEMO_ID (a 64-bit unsigned integer), MEMO_HASH and MEMO_RETURN (32-byte hashes). The docs note that memos were used to tell individual accounts apart in a pooled account; exchanges still work that way.
Format on the form. The field is called Memo; the form expects the numeric type. Digits only. If an exchange gives you a text memo rather than a number, check their page for an ID option; the numeric form is what the field is for.
Without it. The Stellar ledger itself does not reject a payment for lacking a memo, so the payment goes through and lands in the exchange's pooled account unassigned. Same remedy as XRP: their support, with the hash.
Where to find it. Exchange deposit page for XLM: "Memo", sometimes "Memo (ID)". Route: BTC → XLM.
Hedera — transaction memo
Hedera accounts are numbered — 0.0.xxxxxx — and a transaction can carry a memo, which the Hedera documentation describes as a string of text up to 100 bytes, optional. Exchanges that pool customers on one account ID use it to tell deposits apart.
Format. Text. Most exchanges give a numeric string; copy it exactly, including any letters.
Without it. The transfer succeeds on the network and arrives at the exchange's account unassigned.
Where to find it. Deposit page for HBAR: "Memo". HBAR is in the asset list of the form; there is no dedicated route page for it at the moment.
Kaspa — why the form says "Public key"
Kaspa is the odd one out. The network has no memo or tag field. A Kaspa address is the public key itself, bech32-encoded with a network prefix — mainnet addresses start with kaspa: and the Kaspa integration documentation describes the string as the network type plus a bech32-encoded public key with a checksum. In other words, the address already is the public key.
The form nevertheless shows a second field for KAS, labelled "Public key", because that is how the field is defined for Kaspa in the asset data the form is built from. In practice:
- Sending to your own Kaspa wallet: leave it empty.
- Sending to a service: only fill it if their deposit page shows a second value under that exact name. Most do not, because the network has nothing to carry it in.
If you are unsure, leave it empty. An address of the form kaspa:q… that passes the form's check is a complete destination.
USDT on TON — payment ID is the comment
On TON, USDT is a jetton, and a jetton transfer can carry a text comment in its forward payload: the TON documentation specifies that a plain comment is a payload starting with a 32-bit zero followed by the text. Wallets and tonscan display it as text. Exchanges give every customer the same TON deposit address and a personal comment; the comment is how they credit you.
The form calls this field "Payment ID". Whatever the exchange calls it — "Memo", "Comment", "Tag", "Payment ID" — it goes here, exactly as shown.
Format. Text, typically a string of digits or letters.
Without it. The jettons arrive in the exchange's wallet without a customer. In How to pay someone whose USDT wallet is on a different network this is the rule "on TON, the memo is part of the address", and it applies to every TON exchange deposit.
Where to find it. Deposit page for USDT, network TON. The address starts with UQ or EQ; the memo is the second value next to it. Route: USDT TRC-20 → USDT on TON.
Monero needs no payment ID any more
Monero once used a separate payment ID, and older guides still ask for one. The current state, checked against getmonero.org on 11 October 2026:
- Long payment IDs are gone. Moneropedia states that long payment IDs were removed in release 0.15 and cannot be used.
- Subaddresses are the default. The Monero documentation says a subaddress is what you should use by default to receive Monero, and that individuals should prefer subaddresses. A subaddress is 95 characters and starts with 8.
- Integrated addresses still exist. A 106-character address starting with 4 that embeds an 8-byte payment ID; the docs recommend them for businesses that accept payments automatically. There is still nothing to type separately — the ID is inside the address.
So on the swap form Monero has no extra field, and the recipient address guidance reads 4… or 8…, 95 characters. If an exchange gives you a Monero deposit address with a separate payment ID, it is working from a very old integration; ask them for a subaddress (8…, 95 characters). An integrated address is 106 characters and is outside what the form accepts.
A worked example: 200 XRP to an exchange
- Open the exchange's deposit page for XRP. It shows an address r… and a destination tag, say 4017325.
- On sablebolt.io choose BTC → XRP, enter the BTC amount until "You get" is a little over 200 XRP.
- Paste the r… address in the recipient field. A field "Destination Tag" appears below it. Type 4017325.
- Check the exchange's minimum deposit for XRP against "You get".
- Send the BTC. When the status page shows the payout hash, open it on bithomp: the payment lists the destination tag. Your exchange balance updates after their confirmation rule.
Same example with the tag forgotten: the payout still goes out, bithomp shows no tag, and the exchange's XRP balance stays flat until their support attaches the transaction to your account. Entering seven digits beforehand is cheaper.
Checklist
FAQ
My own wallet shows a memo field. Do I need to fill it?
No. Your wallet shows it because the network supports it, not because your address needs it. Leave it empty when sending to yourself.
I entered the tag with a space or a letter. Will it work?
For XRP and Stellar Memo the value must be a plain number. Remove anything that is not a digit and compare with the deposit page again before you create the swap.
The exchange shows a memo for a coin that has no field on the form — Bitcoin, for example.
Then it is a reference for their records, not something the network can carry, and the deposit is credited by address alone. Follow their page, but nothing goes on the form.
I sent without the tag. Is the money lost?
It is at the exchange, unassigned. Write to their support with the transaction hash — the payout hash from the status page — and the account the deposit was meant for.
Why does the form call the TON field "Payment ID" and the exchange call it "Memo"?
Different names for the same comment in the jetton transfer. Enter the exchange's value in the form's field.
Can the swap add the tag afterwards?
No. The tag is part of the transaction and is set when the payout is sent. Check it before you send the deposit.