---
title: "Unlink an external signing wallet"
method: POST
path: "/v2/wallets/revoke"
tags: ["Orders"]
---

# Unlink an external signing wallet

`POST /v2/wallets/revoke`

## Request

- Base URL: `https://execution.kairos.trade`
- URL: `https://execution.kairos.trade/v2/wallets/revoke`
- Auth: API key in header `X-Client-Id` and API key in header `X-Api-Key` and API key in header `X-Api-Secret`

Removes the caller's linked external signing wallet for `provider` (default `polymarket`) and revokes every SIWE-minted API key bound to that address, so it doubles as a bot kill switch. Callable from a browser session or an API key with `trade:execute`; partner delegations are refused (`403`).
Linking a wallet is not on this API: it is a web-app step ("Link signing wallet") that needs a browser session plus step-up. The former `POST /v2/wallets/challenge` and `POST /v2/wallets/register` routes are no longer public.

## Request body

- object
  - `provider` 'polymarket' | 'predictfun'
  - `address` string, required

## Response `200`

`revoked` is false when no matching linked wallet existed. `revoked_api_keys` counts the SIWE keys bound to this wallet that were revoked with it.

- object
  - `revoked` boolean, required
  - `revoked_api_keys` integer, required

## Other responses

- `400`: Unsupported provider or invalid address.
- `401`: No valid credential presented — missing/invalid API-key headers or an invalid/expired session token.
- `403`: `API key missing trade:execute scope`, API-key access to the provider disabled, or `signing wallets cannot be changed through a delegation`.

---

[API](https://skmtc.dev/kairos/apis/kairos-order-execution-api.md) - [All operations](https://skmtc.dev/kairos/apis/kairos-order-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kairos/apis/kairos-order-execution-api/revisions/9ba7d463d505?raw)
