keyList
Lists the account's keys by id, label, creation time and last use. A secret is never listed.
Cost: Free. Signed by the owner over method
GET, path/account/v1/<address lowercased>/key/listand no body (the hash of no bytes). TheARCGATE-KEYheader does not authorize it: a call with only a key is a 401signature_required.Inputs:
address(path), any letter case.Returns:
keys, oldest first, each withid,label,createdAtandlastUsedAt, which is null for a key never used. The first keyaccountCreatereturned is labeledfirst key.Errors:
404
account_not_found: the address has no account. Create one withaccountCreate.
Next:
keyRotate: replace a key's secret.keyRevoke: delete a key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The account owner's address, any letter case. One account per address, and a signed request must be signed by it. | |
| agentSignature | No | The owner's EIP-712 signature over this request, as the AGENT-SIGNATURE, AGENT-NONCE and AGENT-EXPIRY headers carry it over HTTP. Sign the typed data `AccountRequest` (not `AgentRequest`) with fields `origin` (the API's base URL with no trailing slash: the URL this request is sent to less its path, for example `https://api.arcgate.dev`; over MCP the same, not the /mcp URL), `address` (the owner), `method`, `path`, `bodyHash`, `nonce` and `expiry`, in that order. A signature made for another deployment's origin is a 401 invalid_signature, under the domain {name: "arcgate", version: "1"} with no chainId (a wallet that can only sign with one may add the chainId of the chain this deployment serves). The `path` is the request path with the address lowercased. The `bodyHash` is the keccak256 of the canonical JSON of the body you send (sorted keys, no whitespace), or of no bytes when there is none. Each nonce is accepted once per owner. Omitting it is a 401 signature_required, never a charge. |