For wallets, exchanges and developers

Let your users send to @names

One call returns the address and the destination tag or memo. The SDK checks the owner's signature on the user's device, so a hacked registry can't hand out a fake address.

With the SDK

import { resolve } from "@glittergoldtag/sdk";

const seen = new Map(); // keep it, so old records are refused

const r = await resolve("@tommy-xrp", {
  chain: "xrpl",
  registry: "https://YOUR-REGISTRY",
  network: "mainnet",
  seen,
});

r.address        // "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH"
r.destinationTag // 198425
r.displayName    // show it before the user confirms
r.changePending  // warn if a change is waiting

TypeScript, no network calls except the registry, built on the audited noble crypto libraries.

With plain HTTP

CallWhat it returns
GET /v1/resolve/:handle?chain=xrplThe signed bundle for sending. 404 unknown, 410 inactive.
GET /v1/bundle/:handleThe full record, including a pending change.
GET /v1/quote/:handleIs it free, and its price.
GET /v1/check?chain=&address=Does this address require a tag or memo?
GET /v1/pricingCurrent prices.
GET /v1/healthRegistry version and network.

If you call the API directly, check the bundle signature yourself before showing an address. That check is what keeps users safe.

Developer plans

Developer Free

Free

Small and personal use

Docs

Developer Basic

$28.50 / month

Wallets and pay pages

Docs

Developer Premium

$199 / month

High volume, priority support

Docs

Open standard

Glitter Tags v1, free for anyone

The handle format, the signed bundle and the API are published as an open standard. Any wallet can support it, and anyone can run a compatible registry. No license fee.

  • Handles: @name and @name-label
  • Bundle: JSON, canonicalized (RFC 8785), signed by the owner's wallet
  • Owner keys: XRPL (ed25519 / secp256k1), Stellar (SEP-53), Ethereum (EIP-191)
  • QR codes: X-address, SEP-7, EIP-681

Checklist for wallets

  • Check the owner's signature on the device
  • Refuse a bundle for the wrong network
  • Remember the highest sequence per handle
  • Show the display name and wallet name before sending
  • Warn on a pending change or a new owner
  • Never send without the tag when one is required