User Rating 0.0
Total Usage 0 times
Valid chars: 1 3 4 5 6 7 8 9 a b c d e f g h i j k m n o p q r s t u w x y z
Presets:
All keys generated locally. Nothing leaves your browser.
Is this tool helpful?

Your feedback helps us improve.

About

Banano addresses are derived from Ed25519 public keys, encoded using a custom base32 alphabet (13456789abcdefghijkmnopqrstuwxyz). A vanity address contains a human-readable pattern - a word, name, or sequence - embedded in the address string after the ban_ prefix. Finding one requires brute-force: generating random seeds, deriving keypairs, encoding addresses, and checking for pattern matches. The probability of finding an n-character prefix match is approximately 132n, meaning a 4-character prefix requires on average 1,048,576 attempts. This tool performs all cryptographic operations locally in your browser using Web Workers. No seeds or private keys leave your device.

The generator implements Blake2b hashing (RFC 7693) and Ed25519 public key derivation entirely in JavaScript. Each CPU core runs an independent worker generating and testing addresses in parallel. Longer patterns increase search time exponentially. A 5-character pattern averages 33.5 million attempts. Patterns beyond 6 characters may take hours or days depending on hardware. The Banano base32 alphabet excludes 0, 2, l, v - patterns containing these characters will never match.

banano vanity address cryptocurrency address generator ban_ nano ed25519 blake2b

Formulas

The Banano address derivation pipeline follows three stages: seed generation, key derivation, and address encoding.

seed random(32 bytes)
private_key = Blake2b-256(seed index)
public_key = Ed25519(private_key) B
checksum = reverse(Blake2b-5(public_key))
address = "ban_" encode_base32(public_key) encode_base32(checksum)

Where B is the Ed25519 base point on the twisted Edwards curve y2 x2 = 1 + d x2 y2 over Fp with p = 2255 19. The base32 alphabet used is 13456789abcdefghijkmnopqrstuwxyz (32 characters, excluding 0, 2, l, v). The vanity search probability for a prefix of length n is:

P = 132n

Where P is the probability of a match on any single attempt and n is the pattern length. Expected attempts equal 32n.

Reference Data

Pattern LengthPossible CombinationsAvg. AttemptsEst. Time @ 10k/sEst. Time @ 50k/sProbability per Try
13232< 1s< 1s3.125%
21,0241,024< 1s< 1s0.098%
332,76832,7683s< 1s0.003%
41,048,5761,048,5761.7min21s0.0001%
533,554,43233,554,43256min11min~0
61,073,741,8241,073,741,82429.8hr5.9hr~0
734,359,738,36834,359,738,36839.8days7.9days~0
81.1 × 10121.1 × 10123.5years254days~0

Frequently Asked Questions

Banano uses a custom base32 alphabet: 13456789abcdefghijkmnopqrstuwxyz. The characters 0, 2, l, and v are excluded. Any pattern containing these invalid characters will never produce a match. The first character after ban_ is always 1 or 3 due to the 256-bit public key encoding into 52 base32 characters with 4 leading zero bits.
The public key is 256 bits, encoded as 52 base32 characters (260 bits total). The first 4 bits are always zero padding, limiting the first character to values 0-3 in the base32 alphabet. Since the alphabet maps 0→1, 1→3, 2→4, 3→5, but only 0 and 1 commonly appear due to the key space distribution, addresses predominantly start with ban_1 or ban_3.
Yes. All cryptographic operations run locally in Web Workers. Seeds are generated using crypto.getRandomValues(), which provides cryptographically secure random numbers. No data is transmitted to any server. However, you should save your seed and private key securely immediately after generation - they exist only in your browser session and are not persisted to localStorage for security reasons.
Each additional character multiplies expected attempts by 32. A 3-character prefix averages 32,768 attempts (seconds). A 5-character prefix averages 33,554,432 attempts (minutes to hours). A 7-character prefix averages over 34 billion attempts (days to weeks). Performance scales linearly with CPU core count since workers operate in parallel.
Prefix matching checks the characters immediately after ban_1 or ban_3 (positions 5+). Suffix matching checks the last N characters of the address (within the checksum region, which has limited controllability - suffix matches in the main body before the 8-character checksum are more meaningful). Anywhere matching scans the entire address string, which is fastest since any position qualifies as a match.
Not with coordinated effort from this tool alone, but you can open the generator on multiple devices or browser tabs independently. Each instance generates entirely random seeds, so there is no duplicate work concern. The probability remains the same per attempt regardless of how many instances run. Statistically, N instances reduce expected wall-clock time by a factor of N.