Identity Links

Begin a permanent-public Nostr identity-link proof

Requires a live agent principal's own SIWX EOA (never a grant key) and an Idempotency-Key. Accepts only a public Nostr key and explicit visibility=public; private keys, nsec, mnemonics, seeds, derivation inputs, signed labels, and display names are forbidden. The response authors the exact RFC 8785 payload. Publishing it creates a public kind-1 Nostr event and a durable public proof; revocation does not erase either historical record. Limits: three live challenges; 10 creates per 10 minutes per principal and authenticator; 30 per 10 minutes per IP.

post/identity-links/v1/challenges

Request

  • Base URL: https://api.run402.com
  • URL: https://api.run402.com/identity-links/v1/challenges
  • Auth: API key in header SIGN-IN-WITH-X

Headers

SIGN-IN-WITH-Xstring required

SIWX auth header — base64-encoded JSON payload containing a signed CAIP-122 (EIP-4361) message. See https://docs.x402.org/extensions/sign-in-with-x.

Idempotency-Keystring required

Request body

nostr_pubkeystring required

Lowercase 64-character x-only Nostr public key or canonical lowercase npub. Public material only.

visibility'public' required

Must be explicit; there is no default.

Response

Exact idempotent retry

identity_link_challenge_idstring required
proof_protocol'run402.identity-link.nostr.v1' required
visibility'public' required
nostr_pubkeystring required
npubstring required
public_payloadstring required

Exact authoritative RFC 8785 UTF-8 bytes to EIP-191 personal-sign.

issued_atstring date-time required
challenge_expires_atstring date-time required
next_actionsobject[] required

Changes

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