Stellar
Accept native XLM on the Stellar network mainnet and testnet. One account address - each invoice gets a unique reference (muxed address plus Memo ID).
Stellar is account-based. Paste a single Stellar account ID (G...). Each invoice gets a unique reference, shown two equivalent ways: a muxed address (M...) and a Memo ID. Funds land directly in your Stellar account.
Availability. Stellar (XLM) is live on NoHoldPay. If Stellar does not appear in your wallet picker, contact support.
Networks
| Network | Chain key | Finality | Min invoice |
|---|---|---|---|
| Stellar | XLM | BFT single-slot (1 closed ledger, ~5s) | $1.00 |
| Stellar Testnet | XLM_TESTNET | BFT single-slot (~5s) | $0.10 |
Stellar has no reorgs - a transaction that closes in a ledger is final.
Supported coins
Native XLM only (7 decimals).
Issued assets (USDC, EURC, any token with an issuer) are explicitly not credited - they route to manual reconciliation as STELLAR_ASSET_NOT_SUPPORTED. Most issued-asset sends fail on-chain anyway, because your account holds no trustline for them.
Wallet setup
Paste a classic Stellar account ID - starts with G, 56 characters. The account must already exist on-ledger and be funded above the Stellar minimum balance (currently 1 XLM = two 0.5 XLM base reserves).
Do not paste:
- A muxed address (
M...) - NoHoldPay generates the per-payment muxed reference for you. Paste the underlyingG...account. - A federation address (
name*domain.com) - resolve it to theG...account first. - A custodial exchange deposit address. Exchanges route deposits by memo - your customers' payments would funnel into the exchange's deposit logic.
- An address already bound to another NoHoldPay account, including a second account of your own. Two accounts watching one address share a single inbound stream, so one payment could be credited against an order in each. The second bind is rejected.
Compatible wallets:
- Hodlall - NoHoldPay's multi-coin wallet, so you can hold Stellar alongside your other keys
- Lobstr
- Freighter
- Solar Wallet
- Ledger Live
Account preflight
Before saving the wallet, NoHoldPay checks your account on the Stellar network:
| Account state | Result |
|---|---|
| Account does not exist / below the minimum | Blocked (STELLAR_ACCOUNT_NOT_FUNDED) - fund it, then retry |
| Account funded and on-ledger | Saved - a balance snapshot is recorded |
If the network is briefly unreachable, the check returns a retryable error (STELLAR_PROVIDER_UNAVAILABLE) rather than wrongly reporting an unfunded account - just try again in a moment.
Open your wallet and copy your Stellar account ID (G...).
Screenshot
Stellar wallet receive screen showing the G-account ID
add image at public/images/guides/stellar-account-id.png
XLM or XLM_TESTNET.Create a small test payment. Verify the muxed address and Memo ID appear on the checkout.
How customers pay
Every payment gets a unique 63-bit reference, derived deterministically with up to 8 retries to avoid collisions across active invoices. The checkout shows it two equivalent ways - the customer picks whichever their wallet supports:
- Muxed address (
M...) - one copyable address that carries the reference. The customer pays it with no memo. This is the simplest path and works in muxed-aware wallets (Lobstr, Solar, and others). - Account ID plus Memo ID - the
G...account with a numeric Memo ID the customer sets as aMEMO_IDmemo. For wallets that do not support muxed addresses.
Both encode the same reference, so either path credits the same invoice. The checkout also renders a SEP-7 QR / deep link (web+stellar:pay?...) that compatible wallets can scan to pre-fill destination, amount, and memo.
The reference is what attributes the payment. A customer who pays the muxed address, or sets the Memo ID, is matched instantly. A customer who strips both is still matched when the exact amount uniquely identifies one open invoice - otherwise the payment lands in manual reconciliation (see below).
How payments match
| Tier | Match condition | Result |
|---|---|---|
| 1 | Paid the muxed address, or the account with the right Memo ID | Confirmed |
| 2 | No memo, exact amount matches a single open invoice | Confirmed |
| 3 | Wrong memo - even with the exact amount | Manual reconciliation (STELLAR_MEMO_MISMATCH) - never auto-credited to the wrong invoice |
| 4 | No memo, multiple invoices share the amount | Manual reconciliation (STELLAR_MEMO_MISSING_AMBIGUOUS_CANDIDATES) |
A wrong reference is never quietly credited by amount alone - that protects you and your customers from misattributed payments. NoHoldPay nudges each open invoice's amount by a tiny fraction of an XLM so they stay distinct, which keeps the no-memo tier-2 path unambiguous in normal use.
Not supported
- Issued assets (USDC, EURC, any token) - rejected as
STELLAR_ASSET_NOT_SUPPORTED. - Account merges into your account - the XLM arrives but is not credited as a payment (
STELLAR_ACCOUNT_MERGE_NOT_SUPPORTED). If a merge was meant as a top-up, contact your operator. - Paste-tx-hash claim - Stellar detection is automatic. There is no manual claim. The watcher credits within one poll cycle (~5s).
- Custodial exchange deposit addresses.
Testnet (XLM_TESTNET)
- Friendbot faucet - funds a testnet account with test XLM. Append
?addr=<G_ADDRESS>. - stellar.expert testnet explorer
- Stellar Laboratory - build and submit test transactions.
Common errors
| Code | When |
|---|---|
STELLAR_ACCOUNT_NOT_FUNDED | Account does not exist on-ledger yet - fund it above the 1 XLM minimum, then retry |
STELLAR_ADDRESS_INVALID | You pasted a muxed M... address (or an invalid one) - paste the underlying G... |
STELLAR_PROVIDER_UNAVAILABLE | The Stellar network was briefly unreachable - retry in a moment |
STELLAR_ASSET_NOT_SUPPORTED | A customer sent an issued asset instead of native XLM |
STELLAR_MEMO_MISMATCH | A customer paid with the wrong Memo ID - the transfer is held for manual review. Contact support to have it matched or refunded |
Topping up with XLM
You can also prepay platform fees with XLM. From Prepaid credit -> Top up credit, pick Stellar. The dashboard gives you a dedicated deposit address to send XLM to. See Prepaid Credit for the full flow. The deposit address is yours alone and stays stable - send to it as often as you like.
Recovery
Your Stellar wallet appears in your Recovery Kit as a courtesy listing: your account ID plus a reminder that you spend it with your own secret key in any Stellar wallet. There is nothing for NoHoldPay to recover - funds land directly in your account on every payment, and the platform never holds a Stellar key. If NoHoldPay is offline, you can still see and spend your XLM from your own wallet or any Stellar explorer.