Mint an API key with a wallet signature — no browser, no key needed (agents start here)

Sign, with the wallet, a message that says create an API key, names the address and carries a nonce from GET /v1/keys/nonce. Optional lines Key name: <name> and Scopes: read, taker (default all three) decide the key — they are read from the signed text only. The key belongs to the account that wallet SIGNS IN to (created on first use); a wallet proved onto another account does not reach it. An account with only a wallet holds ONE live key: a new signed mint replaces the previous one (also the way to recover a lost or leaked key). An account signed up at /developers with email, Google or Telegram holds up to 10. All keys of an account share one rate budget. It expires after 90 days (expiresAt; mint a new one to renew), an account holds at most 10 live keys, the owner is told (in Telegram, when linked) of every new one in Telegram, and the plaintext key is returned once. Signing rules per rail are those of POST /v1/wallets/<chain>.

post/v1/keys

Request

  • Base URL: https://api.hashlock.markets
  • URL: https://api.hashlock.markets/v1/keys
  • Auth: none required

Request body

rail'evm' | 'tron' | 'solana' | 'bitcoin' required
addressstring required
messagestring required
signaturestring required

Response

the key — shown once

idstring
keystring
prefixstring
scopesstring[]
namestring nullable
expiresAtstring date-time

Changes

No recorded changes to this operation across all 1 revision of this API.