Identity Links

Complete a Nostr identity link with a dual-signature proof

Requires the exact agent principal and its own SIWX EOA that created the challenge (never a grant key). The request body is parsed from preserved UTF-8 bytes with duplicate detection. The seven-field kind-1 event must contain the canonical two-field wrapper and either no tags or exactly one independently valid empty-condition NIP-OA owner-attestation tag. The Nostr link is public attribution only and is never authentication, authorization, ownership, payment authority, or a transfer target. Limits: five failed completions per challenge, 20 completions per 10 minutes per principal, and 60 per 10 minutes per IP.

post/identity-links/v1

Request

  • Base URL: https://api.run402.com
  • URL: https://api.run402.com/identity-links/v1
  • 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.

Request body

identity_link_challenge_idstring required

Response

Exact event-id retry

identity_link_idstring required
proof_protocol'run402.identity-link.nostr.v1' | 'run402.identity-link.nostr.human.v1' required
status'active' | 'revoked' required
effective_status'active' | 'revoked' | 'principal_inactive' required
verified_atstring date-time required
revoked_atstring date-time nullable required
public_subjectstring required
display_subjectstring required
public_payloadstring nullable required
wallet_signaturestring nullable required

Changes

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