Key Custody

Create a Safe owned by your passkey

An EVM Safe (v1.4.1) whose only owner is Safe's WebAuthn shared signer, configured with this passkey's P-256 public key. No private key exists anywhere: signing a transaction is a WebAuthn assertion whose challenge is the SafeTx hash. The address is counterfactual (CREATE2) until the first execute deploys it. Chains: base, optimism, arbitrum, polygon (RIP-7212 precompile + fallback verifier), ethereum, sepolia, base-sepolia. The passkey must have been registered on the domain making this request (its rpId): a credential from 1claw.xyz cannot sign on 1claw.co, so such a passkey is refused here (400) rather than producing a Safe no browser here can sign for.

post/v1/treasury/passkey-safes

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/treasury/passkey-safes
  • Auth: HTTP bearer

Request body

chainstring required
passkey_idstring uuid required

Response

Safe registered (counterfactual)

idstring uuid
chainstring
chain_idinteger
safe_addressstring
passkey_idstring uuid
passkey_namestring nullable

The owning passkey's name — only that credential can sign for the Safe.

passkey_rp_idstring nullable

The domain the owning passkey was registered under (WebAuthn rpId); a browser on another domain cannot use it.

custody'passkey_owner'
deploy_status'pending' | 'deployed'
deploy_tx_hashstring nullable
owner_signerstring

The SafeWebAuthnSharedSigner address listed as the Safe's owner.

created_atstring date-time

Changes

No recorded changes to this operation across all 2 revisions of this API.