Wallet Infrastructure
Wallet Infrastructure
Passkeys

Add passkey

POST
/v1/passkeys

Requires scope wallets:write.

Authorization

ApiKey
headerAuthorizationBearer <sk_test_ or sk_live_ key>

Your sk_live_ / sk_test_ API key

Header Parameters

x-customer-id?string

Request Body

application/json
  1. body
moduleId*string
Value in"evm_erc4337""bitcoin""spark""solana""tron""ton"
treasury?boolean
passkeyRegistration*
passkeyData*

Response Body

201application/json

Passkey enrolled

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
401application/json

The Authorization header is missing, malformed, or the API key is unknown or revoked

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
429application/json

The API key exceeded its request budget for the window

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean

Language

curl -X POST 'https://api.pilot.shiga.io/v1/passkeys' \  -H 'x-customer-id: <customer id>' \  -H 'Authorization: Bearer sk_test_...' \  -H 'Content-Type: application/json' \  -d '{  "moduleId": "evm_erc4337",  "passkeyRegistration": {    "credentialId": "string",    "credentialPublicKey": "string",    "rpId": "string",    "origins": [      "string"    ]  },  "passkeyData": {    "credential": {      "property1": null,      "property2": null    },    "authenticator": {      "credentialId": "string",      "counter": 0    }  }}'
Example Response
{  "data": {    "entityKey": "string",    "credentialId": "string",    "moduleId": "evm_erc4337",    "label": "string",    "onChain": {      "status": "active",      "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",      "signerAddress": "string",      "enrolledChains": [        "string"      ],      "pendingChains": [        "string"      ],      "complete": true,      "signatureRequests": [        {          "userOpHash": "string",          "chains": [            "string"          ]        }      ],      "results": [        {          "chain": "string",          "ok": true,          "skipped": true,          "userOpHash": "string",          "error": "string"        }      ],      "reason": "string",      "code": "string",      "retryable": true,      "warning": "string"    }  },  "status": 201,  "success": true}