---
title: "Read current money controls"
method: GET
path: "/money/policies"
tags: ["money", "policies"]
---

# Read current money controls

`GET /money/policies`

## Request

- Base URL: `https://api.stablesea.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stablesea.com/money/policies`
- Auth: none declared

The fixed switchable movement types, with at most 100 approval rules from the current policy. Requires the requested group to match the current session. Requires `approval_controls_manage` or `transfers_approve` in enforced mode; in legacy mode, `permissions_manage` or `transfers_approve`. Reads the caller business's movement switches, effective ceilings and approval tiers. It does not authorize execution. Delay and destination cooloff are not supported.

## Query parameters

- `group_id` string, required

## Response `200`

OK

- MoneyMovementsMoneyPolicySnapshot
  - `data` MoneyMovementsMoneyPolicy[], required
    - `approval_tiers` MoneyMovementsPolicyApprovalTier[], required: If USD valuation is unavailable for an on-chain withdrawal or fund trade, the highest configured approval rule for that flow applies regardless of amount.
      - `approvals_required` integer, required
      - `flow` 'ach_withdrawal' | 'wire_withdrawal' | 'onchain_withdrawal' | 'fund_buy' | 'fund_sell', required
      - `min_inclusive` boolean, required
      - `min_usd` string, required
      - `named_approval_required` boolean, required
    - `enabled` boolean, required: The business's movement-type switch; other execution gates still apply.
    - `limits` MoneyMovementsPolicyLimits, required
      - `daily` object, nullable, required
        - `applies_to` 'all_assets' | 'par_usd_assets', required
        - `limit_usd` string, required
        - `remaining_usd` string, required
        - `unpriced_movements` integer, required
        - `used_usd` string, required
        - `window` 'calendar_day' | 'calendar_week' | 'rolling_24h' | 'rolling_72h', required
      - `per_transaction` object, nullable, required
        - `applies_to` 'all_assets' | 'par_usd_assets', required
        - `limit_usd` string, required
        - `remaining_usd` string, required
        - `unpriced_movements` integer, required
        - `used_usd` string, required
        - `window` 'calendar_day' | 'calendar_week' | 'rolling_24h' | 'rolling_72h', required
      - `rolling` object, nullable, required
        - `applies_to` 'all_assets' | 'par_usd_assets', required
        - `limit_usd` string, required
        - `remaining_usd` string, required
        - `unpriced_movements` integer, required
        - `used_usd` string, required
        - `window` 'calendar_day' | 'calendar_week' | 'rolling_24h' | 'rolling_72h', required
      - `weekly` object, nullable, required
        - `applies_to` 'all_assets' | 'par_usd_assets', required
        - `limit_usd` string, required
        - `remaining_usd` string, required
        - `unpriced_movements` integer, required
        - `used_usd` string, required
        - `window` 'calendar_day' | 'calendar_week' | 'rolling_24h' | 'rolling_72h', required
    - `new_destination_cooloff` MoneyMovementsPolicyDelay, required
      - `seconds` integer, nullable, required: Configured duration in seconds. Zero disables the control; null when unavailable for this rail.
      - `supported` boolean, required
    - `object` 'policy', required
    - `rail` string, required
    - `release_delay` MoneyMovementsPolicyDelay, required
      - `seconds` integer, nullable, required: Configured duration in seconds. Zero disables the control; null when unavailable for this rail.
      - `supported` boolean, required
  - `observed_ts` string, date-time, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `default`: Error response.

## Changes

- **2026-10-29** `e003c8a67b62`: 4 info
  - added the optional property `error/authorization` to the response with the `400` status
  - added the optional property `error/authorization` to the response with the `401` status
  - added the optional property `error/authorization` to the response with the `403` status
  - added the optional property `error/authorization` to the response with the `default` status
- **2026-10-28** `025b2fda2a84`: 2 info
  - added the required property `data/items/new_destination_cooloff/seconds` to the response with the `200` status
  - added the required property `data/items/release_delay/seconds` to the response with the `200` status
- **2026-10-09** `077026051c9a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/money/policies/get.md)

---

[API](https://skmtc.dev/stablesea/apis/stable-sea-backend.md) - [All operations](https://skmtc.dev/stablesea/apis/stable-sea-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/stablesea/apis/stable-sea-backend/revisions/772c80d83658?raw)
