Receive a payment
Receiving is the easy half: share your address, then watch for the incoming transaction.
Share your address
Get your address:
exfer wallet info --wallet ~/my-wallet.key --json
Output:
{
"address": "8d896d64864f53214acb49aeb44a09a03d5bb23d19a417a6ce7b0da65c7bd750"
}
That 64-hex string is what the sender pays. It's a hash of your public key, so handing it out does not reveal your pubkey or private key.
Watch for the payment to arrive
Polling your balance every few seconds works fine for casual use. Use a community RPC node so you don't have to wait for a local node to sync first:
RPC="http://82.221.100.201:9334"
exfer wallet balance --wallet ~/my-wallet.key --rpc "$RPC" --json
Output once the payment hits:
{
"address": "8d896d64...",
"balance": 1000000000,
"source": "rpc",
"rpc_url": "http://82.221.100.201:9334"
}
balance is in exfers. Divide by 100_000_000 for EXFER:
1_000_000_000 exfers = 10 EXFER.
Wait for confirmations
A transaction in the mempool can still be reorged or replaced. Wait for
N confirmations before treating the funds as settled:
| Use case | Confirmations | Wall time |
|---|---|---|
| Casual receipt | 30 | ~5 min |
| Standard value | 60 | ~10 min |
| Large / irreversible | 360 | ~1 hr |
See Confirmation & reorg semantics for details.
Watch a specific incoming transaction
If the sender shares the tx_id, you can poll its status directly. See
Send a payment → Wait for confirmation
for the polling loop.
Build it into a service
For exchanges or services that need to credit user balances on deposit, read For exchanges. It walks through:
- generating one wallet per user
- the recommended block-scan deposit-detection loop
- handling reorgs after credit