Name Services
Pay by name, not by hex
Nobody wants to share a 2,368-byte hex string. SPECTER integrates with ENS (Ethereum Name Service) and SuiNS (Sui Name Service) so senders can just use a name like alice.eth or alice.sui.
How it works
- You upload your meta-address to IPFS (via Pinata gateway)
- You set your ENS or SuiNS text record to point at the IPFS content hash (CID)
- A sender resolves your name, fetches the meta-address from IPFS, and proceeds with normal stealth payment creation
The API handles the resolution automatically:
# Resolve an ENS name
curl -s -X POST https://backend.specterpq.com/api/v1/ens/resolve \
-H "Content-Type: application/json" \
-d '{"name": "alice.eth"}' | jq .
# Resolve a SuiNS name
curl -s -X POST https://backend.specterpq.com/api/v1/suins/resolve \
-H "Content-Type: application/json" \
-d '{"name": "alice.sui"}' | jq .
ENS setup
Upload meta-address to IPFS
curl -s -X POST https://backend.specterpq.com/api/v1/ipfs/upload \
-H "Content-Type: application/json" \
-d '{"meta_address": "<YOUR_META_ADDRESS>"}' | jq .
Save the returned IPFS CID.
Set ENS text record
Go to the ENS Manager App and set a text record on your name:
- Key:
specter.meta-address - Value: the IPFS CID from step 1
Verify resolution
curl -s -X POST https://backend.specterpq.com/api/v1/ens/resolve \
-H "Content-Type: application/json" \
-d '{"name": "yourname.eth"}' | jq .
SuiNS setup
Same pattern, different name service:
Upload meta-address to IPFS
Same as ENS: upload via the IPFS endpoint and save the CID.
Set SuiNS record
Configure your SuiNS name to include the IPFS CID pointing to your meta-address.
Verify resolution
curl -s -X POST https://backend.specterpq.com/api/v1/suins/resolve \
-H "Content-Type: application/json" \
-d '{"name": "yourname.sui"}' | jq .
IPFS endpoints
| Endpoint | Purpose |
|---|---|
POST /api/v1/ipfs/upload | Upload meta-address, returns IPFS CID |
GET /api/v1/ipfs/fetch/:cid | Fetch meta-address by CID |
SPECTER uses Pinata as the IPFS gateway. The backend needs PINATA_JWT, PINATA_GATEWAY_URL, and PINATA_GATEWAY_TOKEN environment variables configured.
Why IPFS?
Meta-addresses are ~2.4 KB (two ML-KEM public keys). Storing that directly in ENS text records works but is gas-expensive. IPFS stores the full payload off-chain with a small CID on-chain, keeping costs reasonable.