Skip to main content
POST
/
api
/
grid
/
v1
/
passkeys
/
account
Create smart account with passkey
curl --request POST \
  --url https://grid.squads.xyz/api/grid/v1/passkeys/account \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-grid-environment: <x-grid-environment>' \
  --data '
{
  "authenticatorResponse": {},
  "sessionKey": {
    "expiration": 1,
    "key": "11111111111111111111111111111111"
  },
  "slotNumber": 1,
  "adminAddress": "<string>",
  "memo": "<string>"
}
'
{
  "address": "<string>",
  "authentication": [
    {
      "provider": "privy",
      "session": {
        "Privy": {
          "privy_access_token": "<string>",
          "refresh_token": "<string>",
          "session": {
            "expires_at": 1,
            "wallets": [
              {
                "additional_signers": [
                  {
                    "signer_id": "<string>",
                    "override_policy_ids": [
                      "<string>"
                    ]
                  }
                ],
                "address": "<string>",
                "chain_type": "solana",
                "created_at": 1,
                "id": "<string>",
                "policy_ids": [
                  "<string>"
                ],
                "exported_at": 1,
                "imported_at": 1,
                "owner_id": "<string>",
                "public_key": "<string>"
              }
            ],
            "authorization_key": "<string>",
            "encrypted_authorization_key": "<unknown>"
          },
          "token": "<string>",
          "user_id": "<string>"
        }
      }
    }
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "policies": {
    "signers": [
      {
        "address": "<string>",
        "permissions": [
          "CAN_INITIATE"
        ],
        "role": "primary",
        "provider": "privy"
      }
    ],
    "threshold": 1,
    "admin_address": "<string>",
    "time_lock": 1
  },
  "status": "<string>",
  "type": "<string>",
  "updated_at": "2023-11-07T05:31:56Z"
}

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
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
adminAddress
string | null
memo
string | null

Response

Smart account created successfully with passkey signer

address
string
required
authentication
object[]
required
created_at
string<date-time>
required
policies
object
required
status
string
required
type
string
required
updated_at
string<date-time>
required