Validate XNO Address
Validates XNO (Nano) cryptocurrency addresses offline. No network connection required - all validation is local.
Address Format
Nano account addresses follow this format:
nano_<60 chars> (65 total)
xrb_<60 chars> (64 total, legacy prefix)
Components
| Part | Description | Length |
|---|---|---|
| Prefix | nano_ (current) or xrb_ (legacy) | 5 or 4 chars |
| Account | Base32 encoded public key + checksum | 60 chars |
| Checksum | Blake2b hash verification (last 8 chars of account) | 8 chars |
Valid Prefixes
nano_- Current standard format (recommended)xrb_- Legacy format (deprecated but still valid)
Character Set
Addresses use Nano’s Base32 alphabet:
13456789abcdefghijkmnopqrstuwxyz
CLI Validation
npx xno-skills validate <address>
Or via QR generation (also validates):
npx xno-skills qr <address>
Checksum Verification
The last 8 characters of a Nano address are a checksum:
- Take the 32-byte public key
- Compute Blake2b hash (5 bytes)
- Reverse the bytes
- Encode in Base32
This ensures any typo in the address will be detected.
Examples
Valid Addresses
nano_1pu7p5n3ghq1i1p4rhmek41f5add1uh34xpb94nkbxe8g4a6x1p69emk8y1d
nano_3phqgrqbso99xojkb1bijmfryo7dy1k38ep1o3k3yrhb7rqu1h1k47yu78gz
xrb_1pu7p5n3ghq1i1p4rhmek41f5add1uh34xpb94nkbxe8g4a6x1p69emk8y1d
Invalid Addresses
| Address | Reason |
|---|---|
nano_abc | Too short |
nano_12345... (wrong chars) | Contains 0 or uppercase |
btc_1xrb... | Wrong prefix |
nano_1xrb... (69 chars) | Wrong total length |
nano_1xrb... (bad checksum) | Checksum mismatch |
Validation Steps
- Check prefix - Must be
nano_orxrb_ - Check length - Total 65 chars (
nano_) or 64 chars (xrb_) - Check characters - Valid Base32 alphabet only
- Verify checksum - Blake2b hash matches last 8 chars
Offline Validation
All validation is performed locally:
- No API calls
- No network requests
- No rate limits
- Works in air-gapped environments
Error Messages
| Error | Meaning |
|---|---|
Invalid prefix | Address doesn't start with nano_ or xrb_ |
Invalid length | Address is not 65/64 characters |
Invalid Base32 character | Contains characters outside Nano’s Base32 alphabet |
Invalid address padding bits | Address is not in canonical Nano Base32 form |
Invalid checksum | Checksum doesn't match the public key |
When to Use
- Before sending XNO to verify recipient address
- When displaying addresses in UI
- During wallet import/recovery
- In scripts that process addresses