---
title: "Switch wallet signing provider"
method: POST
path: "/v1/wallets/switch"
tags: ["Wallets"]
---

# Switch wallet signing provider

`POST /v1/wallets/switch`

Selects an active provider config or exact Custody Connection as the default signing target for the requested scope. Existing on-chain authorities are not rotated.

## Request body

- union — Switch the active wallet signing target by provider or exact Custody Connection ID for the project resolved from the request context.
  - object
    - `connectionId` string, required
    - `provider` 'fireblocks' | 'privy' | 'coinbase_cdp' | 'para' | 'turnkey' | 'dfns' | 'ibm_haven' | 'anchorage' | 'utila' | 'local'
  - union
    - object
      - `provider` 'local', required
      - `walletLabel` string
    - object
      - `provider` 'fireblocks', required
      - `walletLabel` string
    - object
      - `provider` 'privy', required
      - `requestDelayMs` integer
      - `walletLabel` string
    - object
      - `provider` 'coinbase_cdp', required
      - `network` 'solana' | 'solana-devnet'
      - `accountPolicy` string
      - `walletLabel` string
    - object
      - `provider` 'para', required
      - `requestDelayMs` integer
      - `walletLabel` string
    - object
      - `provider` 'turnkey', required
      - `requestDelayMs` integer
      - `walletLabel` string
    - object
      - `provider` 'dfns', required
      - `network` 'Solana' | 'SolanaDevnet'
      - `walletLabel` string
    - object
      - `provider` 'ibm_haven', required
      - `network` 'Solana' | 'SolanaDevnet'
      - `walletLabel` string
    - object
      - `provider` 'anchorage', required
      - `walletLabel` string
      - `network` 'solana' | 'solana-devnet'
    - object
      - `provider` 'utila', required
      - `walletLabel` string

## Response `201`

Wallet signing provider switched

- union — Wallet signing switch result.
  - object — Wallet signing initialization result.
    - `configId` string, required — Created wallet signing config ID.
    - `publicKey` string, required — Public key of the provisioned root wallet.
    - `walletId` string, required — Provider wallet ID of the provisioned root wallet.
  - object
    - `connectionId` string, required — Selected Custody Connection ID.
    - `publicKey` string, required — Public key of the Connection's default wallet.
    - `walletId` string, required — Provider wallet ID of the Connection's default wallet.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `404` — Error
- `409` — Error
- `500` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
