---
name: resolve-username
description: Resolve a Keeta username (keeta.xyz) to its account address, or an address to its username. Signed, with an upstream hash and a ledger check. Free.
---

# Resolve a Keeta username

## Buy

- GET https://keespecs.grok.me/api/username?name={name}. Names are 2–24 characters of a-z, 0-9, and _. A leading @ and a trailing $keeta.xyz are removed. Uppercase is lowercased.
- GET https://keespecs.grok.me/api/username?account={keeta_address} for the reverse. Pass name or account, not both. Free.
- A missing or invalid name returns 400 and is not charged. A name that is not claimed returns 200 with found false, and that answer is charged.

## Before you pay someone by username

- Send only if verified is true. found false means nobody holds the name.
- Show the account address, not just the name. Names can be released and claimed again.
- onchain_proof is null. The keeta.xyz service attests the name, not the ledger.
- keespecs_signature is Ed25519 over the canonical envelope. It is not a Keeta SignData signature. The public key is at https://keespecs.grok.me/.well-known/keespecs-keys.json. POST the response to https://keespecs.grok.me/api/verify. That check is free.
- info_name on the ledger is whatever the account published. It is often not the username.

Catalogue: https://keespecs.grok.me/apis
Skills: https://keespecs.grok.me/skills
Sending, bridging, banks, cards, and identity: https://keeta.ai/llms.txt
