Why We Choose Hex-Encoded Ed25519 Over Ethereum Addresses
When designing agent network identities, we chose hex-encoded Ed25519 public keys with a 0x prefix. Familiar to developers, fast for agents, and honest about what it represents.
The Address Format Dilemma
Every network needs addresses. TCP/IP has IP addresses. Ethereum has wallet addresses. ConnectOnion agents need their own addressing scheme. The question: what format serves both humans and machines?
Why Not Ethereum Format?
Ethereum addresses (20 bytes, checksummed) are familiar to crypto developers. But using them creates confusion:
- • Users expect Ethereum compatibility that doesn't exist
- • 20 bytes loses security compared to full 32-byte keys
- • Checksumming adds complexity without real benefit for agents
Why Not Base58 (Bitcoin/Solana)?
Base58 is human-friendly - no confusing characters like 0/O or l/1. But:
- • Requires base conversion (computational overhead)
- • Variable length complicates parsing
- • Not native to any programming language
Why Ed25519?
Performance
Ed25519: ~70,000 signatures/second
Secp256k1: ~20,000 signatures/second
3.5x faster for agent communications
Security
• Deterministic signatures (same input → same signature)
• Resistant to timing attacks
• No random number generator vulnerabilities
Simplicity
• Fixed 32-byte keys and 64-byte signatures
• Simple, clean API
• Battle-tested in SSH, Signal, and more
Our Format: Honest and Fast
• 0x prefix: Signals "this is cryptographic material"
• 64 hex chars: The full Ed25519 public key
• 66 total chars: Fixed length, easy to validate
Developer Experience
address = "0x" + public_key.hex()
# Validate
if address.startswith("0x") and len(address) == 66:
public_key = bytes.fromhex(address[2:])
No special libraries. No base conversions. No checksums. Just hex encoding that every language supports natively.
Visual Truncation
For display, we show: 0x2b9d...3fdf
First 6 chars + last 4 chars = enough visual distinction for humans while keeping displays clean.
The Philosophy
Don't pretend to be something you're not. Our addresses aren't Ethereum addresses. They're not Bitcoin addresses. They're ConnectOnion agent addresses - hex-encoded Ed25519 public keys, fast for agents and familiar to developers.