Passkeys
Add passkey
POST
Requires scope wallets:write.
ApiKeyheader
AuthorizationBearer <sk_test_ or sk_live_ key>Your sk_live_ / sk_test_ API key
x-customer-id?stringapplication/json- body
moduleId*stringValue in
"evm_erc4337""bitcoin""spark""solana""tron""ton"treasury?booleanpasskeyRegistration*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}