---
title: "Deploy and Setup a Safe"
method: POST
path: "/api/v1/safe/deploy"
tags: ["Safe Management"]
---

# Deploy and Setup a Safe

`POST /api/v1/safe/deploy`

Deploys and sets up the Safe account for the authenticated user.
The User needs to be KYC approved.

This endpoint replaces the `POST /api/v1/account` and related endpoints.
Using this endpoint, the user can deploy the Safe without having to sign the data.

This endpoint is idempotent: calling it again while a deployment is
already in flight for the same user will return `202` without starting
a new workflow. Use `GET /api/v1/safe/deploy` as the source of truth
for deployment status (`processing`, `ok`, `failed`, `not_deployed`).

## Request body

- object
  - `dailyLimit` integer — The daily spending allowance to configure for the Safe, in whole token units (no decimals). Defaults to 350 if omitted.

## Response `202`

Accepted the deployment request. The partner should check the status of the deployment with the GET /api/v1/safe/deploy endpoint.

- object
  - `status` string — The status of the deployment.

## Other responses

- `400` — Bad request. The request body is invalid.
- `401` — Unauthorized Error
- `403` — Forbidden. Missing signer address or Safe deployment is not available.
- `422` — Unprocessable Entity. Safe account already exists or user is not KYC approved.
- `500` — Internal Server Error

---

[API](https://skmtc.net/gnosispay/apis/gnosispay-api.md) · [All operations](https://skmtc.net/gnosispay/apis/gnosispay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gnosispay/gnosispay-api/versions/e0a09962c187/schema)
