Skip to main content
Submit passkey session
curl --request POST \
  --url https://grid.squads.xyz/api/grid/v1/passkeys/submit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-grid-environment: <x-grid-environment>' \
  --data '
{
  "authenticatorResponse": {
    "response": {
      "authenticatorData": "<string>",
      "clientDataJSON": "<string>",
      "publicKey": "<string>",
      "signature": "<string>"
    }
  },
  "ceremonyType": "create",
  "sessionKey": {
    "expiration": 1,
    "key": "11111111111111111111111111111111"
  },
  "slotNumber": 1
}
'
{
  "passkeyAccount": "<string>",
  "sessionKey": {
    "expiration": 1,
    "key": "11111111111111111111111111111111"
  },
  "smartAccount": {
    "address": "<string>",
    "grid_user_id": "<string>",
    "policies": {
      "signers": [
        {
          "address": "<string>",
          "permissions": [
            "CAN_INITIATE"
          ],
          "role": "primary",
          "provider": "privy"
        }
      ],
      "threshold": 1,
      "admin_address": "<string>",
      "time_lock": 1
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://developers.squads.so/llms.txt

Use this file to discover all available pages before exploring further.

The “Try It” feature is disabled for this endpoint because it requires cryptographic WebAuthn authenticator response data that can only be generated during a browser WebAuthn ceremony. Use the Integration Guide for implementation examples.
Submits the WebAuthn authenticator response to complete passkey creation or authentication. Processes ceremony data and executes on-chain transaction to initialize or refresh the passkey.
Only ES256 (algorithm -7) signatures are supported. The authenticator response must verify user presence.

Implementation Flow

1

Complete WebAuthn Ceremony

User completes passkey creation or authentication in hosted UI or custom UI
2

Extract Response

Retrieve the complete authenticator response from the WebAuthn API
3

Submit to API

POST to /passkeys/submit with ceremony type, session key, slot, and response
4

Process Result

Receive passkey_account address and session_key for transaction signing

Authorizations

Authorization
string
header
required

Your Grid API key from the Grid Dashboard

Headers

x-grid-environment
string
required

Solana network environment (sandbox, devnet, mainnet)

Body

application/json
authenticatorResponse
object
required
ceremonyType
enum<string>
required
Available options:
create,
auth
sessionKey
object
required

Grid v1 API SessionKey type that supports backward-compatible deserialization from both raw bytes array (old format) and base58 string (new format). Always serializes to base58 string format.

slotNumber
integer<int64>
required
Required range: x >= 0

Response

Passkey session submitted successfully. If the passkey is a signer on a smart account, smart_account data will be included in the response.

passkeyAccount
string
required
sessionKey
object
required

Grid v1 API SessionKey type that supports backward-compatible deserialization from both raw bytes array (old format) and base58 string (new format). Always serializes to base58 string format.

smartAccount
object