Skip to main content

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

  1. Register a name — Submit a vex_registerName transaction. The name is validated for length and availability, the registration fee is collected, and a VSC-21 NFT is minted to your address.
  2. 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.
  3. Transfer = re-route — Transferring the NFT immediately redirects resolution to the new owner. No admin call required.
  4. 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 LengthRegistration Fee
3–4 characters1,000 VXS
5–7 characters100 VXS
8+ characters10 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 .vex name directly as the payment recipient. Resolution is handled internally before bundle construction.
  • IntentVM — Natural language intents accept .vex names: "send 50 VXS to alice.vex and stake the rest" is one intent, one signature.
  • VexSpark wallet — The wallet displays .vex names wherever available, and allows searching by name in the send flow.
  • VexScan explorer — Addresses with registered names display the .vex name 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

ResourceURL
VNS Appvns.name
Wallet (name management)wallet.vexspark.com/names
VSA v2 Smart AccountsVSA Architecture
IntentVMIntentVM Architecture
VexFi (uses VNS)VexFi — Financial Infrastructure