---
title: "Create a Safe owned by your passkey"
method: POST
path: "/v1/treasury/passkey-safes"
tags: ["Key Custody"]
---

# Create a Safe owned by your passkey

`POST /v1/treasury/passkey-safes`

## Request

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

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.

## Request body

- object
  - `chain` string, required
  - `passkey_id` string, uuid, required

## Response `201`

Safe registered (counterfactual)

- PasskeySafe
  - `id` string, uuid
  - `chain` string
  - `chain_id` integer
  - `safe_address` string
  - `passkey_id` string, uuid
  - `passkey_name` string, nullable: The owning passkey's name — only that credential can sign for the Safe.
  - `passkey_rp_id` string, 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_hash` string, nullable
  - `owner_signer` string: The SafeWebAuthnSharedSigner address listed as the Safe's owner.
  - `created_at` string, date-time

## Other responses

- `400`: Invalid request
- `401`: Authentication required or invalid
- `404`: Resource not found
- `409`: Resource already exists or conflict

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
