Skip to content

Latest commit

 

History

History
119 lines (85 loc) · 4.91 KB

File metadata and controls

119 lines (85 loc) · 4.91 KB

📛 NameStake

Minimal. Permanent. On-Chain.
The simplest way to register short, memorable names on the Stellar blockchain. Claim your identity for a flat one-time fee of 0.5 XLM and hold it forever—no renewals, no subscriptions.

Network: Stellar Testnet Framework: Soroban Frontend: React


📖 Table of Contents


🌌 The Vision

NameStake turns a familiar real-world workflow (domain registration) into a verifiable on-chain primitive on Stellar. Instead of relying on centralized registrars or complex subscription models like ENS, NameStake provides a raw, deterministic naming layer.

By leveraging Soroban, it guarantees transparent state transitions, user-authenticated actions, and immutable ownership.


🔗 Live Environment

Test out the application on the Stellar Testnet right now:


⚖️ Rules & Economics

We designed the rules to be as frictionless and fair as possible:

Registration Constraints

  • Length: 3 to 20 characters.
  • Character Set: Lowercase a–z, digits 0–9, and hyphens -.
  • Formatting: No leading or trailing hyphens permitted.
  • Availability: Strictly first-come, first-served.

Protocol Fees

Action Fee Details
Claim 0.5 XLM One-time payment. No expiry.
Transfer 0.2 XLM Send your name to any other Stellar address.
Release Free Burn the record and free the name (No refunds).

🏗️ Architecture

NameStake is built across four distinct layers to ensure speed, security, and a seamless UX.

┌─────────────────┐       ┌─────────────────┐       ┌─────────────────┐
│                 │       │                 │       │                 │
│  React + Vite   │ ◄───► │ Freighter Wallet│ ◄───► │ Soroban RPC Node│
│  (Vercel Edge)  │       │ (Signer & Auth) │       │ (Stellar Test)  │
│                 │       │                 │       │                 │
└─────────────────┘       └─────────────────┘       └────────┬────────┘
                                                             │
                                                    ┌────────▼────────┐
                                                    │                 │
                                                    │  Rust Contract  │
                                                    │  (Core Logic)   │
                                                    │                 │
                                                    └─────────────────┘

# NameStake

Register short names on the Stellar blockchain and link them to your wallet address. Like ENS but minimal — pay 0.5 XLM, get a permanent on-chain identity. Transfer it, release it, or hold it forever.

## Live Links

| | |
|---|---|
| **Frontend** | `https://namestake.vercel.app` |
| **Contract** | `https://stellar.expert/explorer/testnet/contract/CDT57UR5LL6BMSM6YYZLGHSMJQ4KG27VQ2SU6RJOOXHW6XJU5XZ4J5S5` |


## Why This Project Matters

This project turns a familiar real-world workflow into a verifiable on-chain primitive on Stellar: transparent state transitions, user-authenticated actions, and deterministic outcomes.

```rust
claim(claimer, name, xlm_token)
transfer(from, to, name, xlm_token)
release(owner, name)                   // no refund
lookup(name) -> Option<NameRecord>
reverse_lookup(owner) -> Vec<String>
is_available(name) -> bool
total_names() -> u32

Stack

Layer Tech
Contract Rust + Soroban SDK v22
Network Stellar Testnet
Frontend React 18 + Vite
Wallet Freighter v1.7.1
Hosting Vercel

Run Locally

chmod +x scripts/deploy.sh && ./scripts/deploy.sh
cd frontend && npm install && npm run dev