---
title: "Get top-up configuration"
method: GET
path: "/v1/wallet/topup"
tags: ["Wallet"]
---

# Get top-up configuration

`GET /v1/wallet/topup`

Fees and limits for wallet top-ups, plus the workspace's applied promotion (tiers, presets) and the auto-reload checkout offer.

## Response `200`

Top-up fees, limits, promotion tiers, and presets

- WalletTopupConfigResponse
  - `minAmount` number, required — Minimum top-up amount in dollars.
  - `maxAmount` number — Maximum top-up amount in dollars. Omitted when no app-level cap is configured.
  - `currency` 'USD', required — Top-up currency (currently always USD).
  - `processingFee` object, required
    - `type` 'PERCENTAGE', required
    - `rate` number, required — Processing fee rate (e.g. 0.05 for 5%).
    - `description` string, required
  - `promotion` object — Active promotion. Absent when the baseline (`default`) applies — no promotion badge.
    - `key` string, required — Promotion key (config-defined).
    - `label` string, required — Server-defined display text for the badge.
  - `tiers` object[], required — Bonus tiers for the applied promotion, ascending. Any amount rounds DOWN to a tier; the rate applies to the actual amount.
    - `minAmount` number, required — Inclusive tier minimum in dollars.
    - `rate` number, required — Bonus rate applied to the actual amount.
  - `presets` number[], required — Preset amounts in dollars, display order. Bonuses are client-derived from `tiers` (round-down tier match).
  - `defaultPreset` number, required — Pre-selected preset amount in dollars.
  - `autoReload` object, required
    - `enabled` boolean, required — Whether auto-reload is currently enabled on the workspace. True means checkout shows a passive 'auto-reload is on' note instead of an enrollment toggle — disabling lives on the wallet page.
    - `defaultEnabled` boolean, required — Starting state of the checkout auto-reload toggle. True only for the workspace's ONE auto-enable decision (no auto-reload configured yet, from a known non-EU/EEA/UK viewer); otherwise it mirrors the stored auto-reload state, so a workspace that turned auto-reload off is never pre-ticked again.
    - `topUpToAmount` number, required — Balance (dollars) each automatic reload tops up TO — the same 'Top up to' amount the wallet settings panel shows. Metronome charges this minus the current balance.
    - `threshold` number, required — Balance level (dollars) that triggers a reload.

## Other responses

- `401` — Unauthorized — missing or invalid credentials
- `403` — Forbidden — caller has no workspace or no access
- `500` — Internal server error
- `503` — Wallet not ACTIVE (provisioning, failed, or being set up). Transient states include a Retry-After header (seconds).

---

[API](https://skmtc.dev/monid/apis/monid-api.md) · [All operations](https://skmtc.dev/monid/apis/monid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/monid/monid-api/revisions/6e720e7547e3/schema)
