Skip to main content
POST
Create maker API key challenge

Authorizations

Authorization
string
header
required

Wallet session: the access_token from POST /v1/auth/wallet-sessions, for a user who brings their own wallet to a partner's web page. It acts for that wallet's account with no scope limit, and is bound to the Origin it signed in from: send exactly one Origin header with that value, or the request is ORIGIN_REQUIRED or UNAUTHENTICATED. It lasts at most 30 days and ends after 7 idle days or at DELETE /v1/auth/wallet-sessions/current.

Headers

Idempotency-Key
string<uuid>
required

Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns 409 IDEMPOTENCY_KEY_REUSED.

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Path Parameters

maker_id
string<uint64-decimal>
required

On-chain maker ID, as a decimal string. The credential must be authorized for this maker. Never 0.

Maximum string length: 20
Pattern: ^(0|[1-9][0-9]{0,18}|1[0-7][0-9]{18}|18[0-3][0-9]{17}|184[0-3][0-9]{16}|1844[0-5][0-9]{15}|18446[0-6][0-9]{14}|184467[0-3][0-9]{13}|1844674[0-3][0-9]{12}|184467440[0-6][0-9]{10}|1844674407[0-2][0-9]{9}|18446744073[0-6][0-9]{8}|1844674407370[0-8][0-9]{6}|18446744073709[0-4][0-9]{5}|184467440737095[0-4][0-9]{4}|18446744073709550[0-9]{3}|18446744073709551[0-5][0-9]{2}|1844674407370955160[0-9]|1844674407370955161[0-5])$

Body

application/json
action
any
required

CREATE for a new key.

request
object
required

The exact create request, without proof, that the owner signs.

Response

Five-minute, one-use SIWE challenge (purpose=issue_key) the account owner signs for the exact key request

An EIP-4361 (SIWE) message with purpose=issue_key. Its resources bind the environment, vault, account, owner version (makers), action, key (rotation) and the request digest.

challenge_id
string<uuid>
required

Send back as proof.challenge_id.

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
owner
string
required

The address that must sign: the account wallet for a personal account, the controller for a maker.

Pattern: ^0x[0-9a-f]{40}$
message
string
required

The EIP-4361 message to sign with personal_sign, exactly as returned; check its URI, account, action and key before signing.

Required string length: 1 - 8192
expires_at
string<date-time>
required

When the challenge stops being accepted, 5 minutes after issue.

Maximum string length: 30
Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$