IBExWalletAPI
AuthenticationSign up

Sign-up with passkey 2/2

Complete signup (v1.2) — 3 modes.

Request body:

  • credential (object, required for passkeys mode): WebAuthn credential from navigator.credentials.create()
  • wallet (string, optional): passkeys (default), kdf, email
  • externalUserId (string, required for wallet=kdf and wallet=email): ExternalUserId from GET /sign-up
  • chainIds (array, optional): Chain IDs for multi-chain Safe deployment
  • chainId (number, optional): Single chain ID (alternative to chainIds)
  • keyName, keyDisplayName (string, optional): Passkey metadata
  • includeBalance, includeTransactions, includeUserdata (boolean, optional): Include data in response

Response:

  • Returns JWT tokens (access_token, refresh_token)
  • Includes safeAddress if passkey created (Safe wallet deployed)
POST
/v1.2/auth/sign-up

Request Body

application/jsonOptional
walletstring
Value in: "passkeys" | "kdf" | "email" | "7702"
credentialobject
externalUserIdstring
chainIdsarray<number>
chainIdnumber
keyNamestring
keyDisplayNamestring
includeBalanceboolean
includeTransactionsboolean
includeUserdataboolean
publicKeystring
signaturestring
challengestring
challengeExpiresAtstring
noncestring
timestampnumber
serverSignaturestring
serverKeyIdstring
addressstring

EOA address (required for wallet=7702)

provisioningobject

Optional advanced provisioning (passkeys mode only). If omitted, signup behavior remains unchanged.

curl -X POST "https://passkeys-testnet.ibex.fi/v1.2/auth/sign-up" \
  -H "Content-Type: application/json" \
  -d '{
    "credential": {
      "id": "base64url-credential-id",
      "rawId": "base64url-credential-raw-id",
      "type": "public-key",
      "authenticatorAttachment": "platform",
      "clientExtensionResults": {},
      "response": {
        "attestationObject": "base64url-attestation-object",
        "clientDataJSON": "base64url-client-data-json"
      }
    },
    "chainId": 100,
    "keyName": "alice@foo.domain",
    "keyDisplayName": "Alice",
    "provisioning": {
      "safes": [
        {
          "chainId": 100,
          "derive": [
            {
              "family": "EVM",
              "count": 2
            }
          ]
        },
        {
          "chainId": 421614,
          "derive": [
            {
              "family": "SOLANA",
              "count": 1
            }
          ]
        }
      ],
      "global": {
        "chainId": 1,
        "derive": [
          {
            "family": "SOLANA",
            "count": 2
          },
          {
            "family": "BITCOIN_P2WPKH",
            "count": 1
          }
        ]
      }
    }
  }'

Default Response