---
title: "Set travel rule options for a user"
method: POST
path: "/travel-rule-options"
tags: ["Counterparty"]
---

# Set travel rule options for a user

`POST /travel-rule-options`

Sets per-account Travel Rule options that skip per-address declarations. Intended to be called at account-setup time for integrators who can attest that a user transacts exclusively with their own wallets, but may be called at any time to toggle individual flags.

Provide exactly one of `userId` / `businessId`. At least one flag must be present. Omitting a flag leaves its current value unchanged.

Wallet ownership verification still applies at or above the EUR threshold — the flags only remove the obligation to declare an address before each transaction.

## Request body

- TfrOptionsRequest — Set per-account Travel Rule options. Provide exactly one of `userId` / `businessId`. At least one flag must be included.
  - `userId` string, uuid — Owner user id. Provide exactly one of userId / businessId.
  - `businessId` string, uuid — Owner business id. Provide exactly one of userId / businessId.
  - `onChainDepositsFromOwnWalletsOnly` boolean — When `true`, on-chain deposits for this account are treated as coming from a wallet the user owns — no per-deposit address declaration required. Wallet ownership verification still applies at or above the EUR threshold.
  - `lightningDepositsFromOwnWalletsOnly` boolean — When `true`, Lightning deposits for this account are treated as coming from a wallet the user owns — no per-payment declaration required.
  - `onChainWithdrawalsToOwnWalletsOnly` boolean — When `true`, on-chain withdrawals for this account are treated as going to a wallet the user owns — no per-withdrawal address declaration required. Wallet ownership verification still applies at or above the EUR threshold.
  - `lightningWithdrawalsToOwnWalletsOnly` boolean — When `true`, Lightning withdrawals for this account are treated as going to a wallet the user owns — no per-payment declaration required.

## Response `200`

Options updated. Returns only the flags that were set in this request.

- TfrOptionsResponse
  - `tfrOptions` object, required — Echoes only the flags included in the request. Previously set flags that were omitted are unchanged but not returned.
    - `onChainDepositsFromOwnWalletsOnly` boolean
    - `lightningDepositsFromOwnWalletsOnly` boolean
    - `onChainWithdrawalsToOwnWalletsOnly` boolean
    - `lightningWithdrawalsToOwnWalletsOnly` boolean

## Other responses

- `400` — Bad request — no flags provided, or field validation failed.
- `401` — Invalid authentication header
- `500` — Unexpected server error.

---

[API](https://skmtc.net/striga/apis/striga-v1.md) · [All operations](https://skmtc.net/striga/apis/striga-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/striga/striga-v1/revisions/63e57aa7df45/schema)
