Address check

GET /api/address-check?account= a checksummed keeta_ address. 0.01 USDC. A bad address returns 400 and is not charged. The same account is cached for 5 minutes. This is a signal. It is not proof of personhood, and it does not send money.

Fields

product
keespecs.address-check
schema
address-check/1. A new field may be added. A rename or removal bumps this to address-check/2.
network
main
asOf
When this copy was built.
account
The checksummed keeta_ address.
type
user for a spending key, token for a token key, otherwise other. Read from the address prefix.
exists
True only when the account has at least one block. A node reply of 200 with no blocks is not enough.
blockCount
The account head height.
name
The keeta.xyz name, such as kg$keeta.xyz, or null. Not the name the account wrote on the ledger.
nameSource
Always keeta.xyz.
balances
token, symbol, amount, and decimals. amount is scaled by decimals. Up to 40.
lastActive
Newest time in the fetched window, or null.
firstSeen
Oldest time in the window, or { olderThan } when the window was cut short, or null.
counterparties
count, and window. window is last N blocks, or in the last N blocks when cut short.
truncated
True when chain or history still had older blocks after 4 pages or 100 blocks.
score
value from 0 to 100, parts (age, blocks, counterparties, username), formula, and note. The four parts add up to 100.
api_version
The KeeSpecs response version.
keespecs_signature
Ed25519 over the canonical envelope. Check it at /api/verify.

Score

A signal, not proof of personhood. There are no hidden inputs. An account with no blocks scores 0.

Each part is min(value, cap) / cap × its points. The username part is 10 or 0. The four parts are added and rounded. value is that sum, and it is never above 100. Chain and history are each read for at most 4 pages of 25, and at most 100 blocks.

Username match

GET /api/username?name=kg&account= a keeta_ address is free and rate-limited. match is true only when the name points at that account and the account points back at that name. The result is cached for 60 seconds. Names can be claimed again. Check again before moving money. Passing only a name, or only an account, is the existing lookup.