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": "<unknown>"
}
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