SIGN-IN-WITH-X header (domain
api.kviria.com, URI https://api.kviria.com, a fresh single-use
nonce per request). The x-kviria-agent header (or ?agent=) is a
namespace label that isolates your agent’s context — it is not a
secret.
Building the sign-in
TheSIGN-IN-WITH-X header is a CAIP-122 payload, signed by your
wallet and base64-encoded. Build it per request — every nonce is
single-use.
1. Build the payload:
domain, address, URI, version, Chain ID: 8453,
Nonce, Issued At lines) with your wallet’s personal-sign.
3. Add the signature, base64 the JSON, send it:
@x402/extensions/sign-in-with-x provides the helpers
(createSIWxMessage, signEVMMessage, encodeSIWxHeader) so
the three steps are two lines of code.
Request body
The structured intent
Your agent can do the mapping itself and skip the transcript entirely - zero model calls on Kviria’s side, fully deterministic. The actions:search, find, select, confirm, neighbors, across,
along, at_address, street_zoom, street_end, near
ref (a previous
response’s id), a name exactly as returned, an index into the
echoed candidates, or at coordinates. Invalid intents return a
strict 400 that names the bad field - fix it and retry once.
Response
target carries the outcome: gers (stable id), name, category,
location {lat, lng}, distanceM - and address: {number, street}
when the match is a door. A door resolves as resolved without the
confirm gate: an exact address verifies itself.
evidence is the audit trail - see
Determinism & evidence.