How to receive funds and check your balance¶
Who this page is for: you have a wallet (pyrxd wallet new or
pyrxd wallet recover) and you want a receive address, then to confirm money
arrived. Everything on this page is read-only — no signing, no broadcast.
balance and utxos still ask for the mnemonic, to open the wallet file.
pyrxd address → give it to the sender
pyrxd balance → did it arrive?
pyrxd utxos → what exactly do I hold?
Get a receive address¶
$ pyrxd address
1Abc…yourReceiveAddress
With no flags, address prints the next unused external receive address —
the right default for “where do I get paid.” It scans the chain first, the same
scan balance runs, and prints the first receive address with no history. An
address that was paid RXD, even one later spent from, is not handed out again.
Neither is an address that has only ever received a Glyph token: the indexer
lists a token output under its script hash with the refs zeroed, not under the
address’s P2PKH hash, so when an address has no P2PKH history the scan also reads
its token script hashes
(#787). The scan is not saved
to the wallet file. If an address cannot be read, address exits 2 and prints
no address, because it cannot show the one it would print is unused. --change
does the same on the change chain.
For deterministic lookups, which read nothing from the network:
$ pyrxd address --index 5 # external address at index 5
$ pyrxd address --index 5 --change # the change-chain address at index 5
Hand the printed address to whoever is paying you. It’s a public receive address — safe to share.
Check your balance¶
$ pyrxd balance
Network mainnet
Confirmed 123,456,789 photons (1.23456789 RXD)
Pending 0 photons (0.00000000 RXD)
balance scans the chain first: it walks the receive and change chains until 20
addresses in a row have no history, then sums confirmed and pending photons
across every address that has some. So a payment to any address inside that
window shows up, including on a wallet pyrxd wallet new just made. The
scan runs every time and is not saved to the wallet file. --refresh, which
used to turn the scan on, is still accepted and changes nothing.
If an address cannot be read, the balance is not reported as complete: the
command exits 2, and the human output shows what the other addresses hold with
an INCOMPLETE line naming the ones that failed (JSON and --quiet output
print nothing). Retry, or point --electrumx at another server.
If the balance shows zero while an explorer shows funds, your coins are likely on a different derivation path — see Recover funds across wallet paths.
See exactly what you hold¶
$ pyrxd utxos
utxos is a read-only diagnostic listing every spendable output across your
used addresses, after the same scan. An address it cannot read makes it exit 2
the same way balance does. Two filters:
$ pyrxd utxos --min-photons 10000 # hide dust below 10,000 photons
$ pyrxd utxos --addr 1Abc… # only this address
This is the view to reach for when a send picks unexpected inputs, or when you want to confirm a specific payment landed at a specific address.
Receive without exposing the wallet: watch-only xpub¶
To let an external tool or service generate receive addresses for you without ever touching the seed, export the account-level xpub:
$ pyrxd wallet export-xpub
xpub6C…
The xpub at m/44'/<coin_type>'/<account>' derives receive addresses but
carries no private keys — anyone with it can watch and derive addresses;
they cannot spend.
It is not, however, a casual thing to hand out. An xpub reveals every address the wallet will ever derive, on both the receive and change chains, and the fact that they belong together — a permanent disclosure of your whole transaction history, past and future. Share it only with a party you would trust with that; for a one-off payment, hand over a single address instead.
Add --descriptor to get an output script descriptor rather than a bare
xpub — script type, key origin, and derivation range in one string, which is
what other wallets actually want for a watch-only import:
$ pyrxd wallet export-xpub --descriptor
...
receive: pkh([73c5da0a/44h/512h/0h]xpub6BmWw…NZpB/0/*)
change: pkh([73c5da0a/44h/512h/0h]xpub6BmWw…NZpB/1/*)
See Export a watch-only output-script
descriptor for the full recipe, including
the radiant-cli scantxoutset example and the checksum incompatibility
between Radiant Core and Bitcoin Core.
See also¶
Your first Radiant transaction — receive, check, then build and sign a send.
Recover funds across wallet paths — when the balance is zero but the explorer shows funds.