VNS — Vexidus Name Service
VNS provides human-readable .vex names for Vexidus addresses. Names are permanent, require no annual renewal, and are backed by VSC-21 NFTs — ownership of the NFT is the name registration. Transfer the NFT, transfer the name. No separate registry update is needed.
VNS is an identity extension of VSA v2 (Vexidus Smart Accounts). It adds a human-readable layer to an account system that VSA already manages — and because VNS names compose natively with IntentVM, the same name works everywhere: payments, intents, and VexFi.
How It Works
- Register a name — Submit a
vex_registerNametransaction. The name is validated for length and availability, the registration fee is collected, and a VSC-21 NFT is minted to your address. - NFT = registration — The NFT owner is the name's resolution target. Resolution reads the NFT's current owner from chain state — no off-chain registry.
- Transfer = re-route — Transferring the NFT immediately redirects resolution to the new owner. No admin call required.
- Permanent — No renewal fees. The name is yours until you transfer or burn the NFT.
Register "alice.vex"
→ Validates: name available, length ≥ 3 chars
→ Collects fee (100 VXS for "alice")
→ Mints VSC-21 NFT in global VNS collection
→ Stores resolution: vns:alice → owner address
→ Resolves: vex_resolveName("alice.vex") → Vx...
Pricing
| Name Length | Registration Fee |
|---|---|
| 3–4 characters | 1,000 VXS |
| 5–7 characters | 100 VXS |
| 8+ characters | 10 VXS |
Fees are collected once at registration. There is no recurring charge.
RPC Methods
VNS exposes four dedicated RPC methods on any Vexidus node.
vex_registerName
Register a new .vex name. The calling address must hold enough VXS to cover the registration fee.
{
"method": "vex_registerName",
"params": {
"name": "alice",
"owner": "Vx1abc..."
}
}
Response:
{
"name": "alice.vex",
"nftId": "VSC21:0x...",
"fee": "100000000000",
"txHash": "Vxh..."
}
vex_resolveName
Resolve a .vex name to its current owner address.
{
"method": "vex_resolveName",
"params": ["alice.vex"]
}
Response:
{
"name": "alice.vex",
"address": "Vx1abc...",
"nftId": "VSC21:0x..."
}
vex_reverseResolve
Look up the primary .vex name for a given address (if any).
{
"method": "vex_reverseResolve",
"params": ["Vx1abc..."]
}
Response:
{
"address": "Vx1abc...",
"name": "alice.vex"
}
vex_getNameInfo
Get full metadata for a registered name: owner, NFT ID, registration block, and fee paid.
{
"method": "vex_getNameInfo",
"params": ["alice.vex"]
}
Response:
{
"name": "alice.vex",
"owner": "Vx1abc...",
"nftId": "VSC21:0x...",
"registeredAtBlock": 1041200,
"feePaid": "100000000000"
}
Ecosystem Integration
VNS names are resolved automatically across the Vexidus ecosystem:
- VexFi
pay()— Pass a.vexname directly as the payment recipient. Resolution is handled internally before bundle construction. - IntentVM — Natural language intents accept
.vexnames:"send 50 VXS to alice.vex and stake the rest"is one intent, one signature. - VexSpark wallet — The wallet displays
.vexnames wherever available, and allows searching by name in the send flow. - VexScan explorer — Addresses with registered names display the
.vexname in transaction history and account views.
Registering via CLI
# Register a name
vexidus vns register --name alice --from Vx1abc... --rpc http://localhost:9933
# Resolve a name
vexidus vns resolve alice.vex --rpc http://localhost:9933
# Look up names for an address
vexidus vns reverse Vx1abc... --rpc http://localhost:9933
Key Links
| Resource | URL |
|---|---|
| VNS App | vns.name |
| Wallet (name management) | wallet.vexspark.com/names |
| VSA v2 Smart Accounts | VSA Architecture |
| IntentVM | IntentVM Architecture |
| VexFi (uses VNS) | VexFi — Financial Infrastructure |