Why rules matter
Without rules, settlement follows the tenant’s default window cadence. With rules, you can:- Sweep balances above a threshold automatically
- Pay out merchants only once a certain volume accumulates (amortize rail fees)
- Trigger on events — close day’s books at midnight local time
- Emergency settlements — force immediate settle during incidents
Rule anatomy
Create a rule
Trigger types
| Trigger | When it fires | Config |
|---|---|---|
balance_threshold | Wallet balance crosses a value | threshold_cents, currency, direction (above/below) |
time_based | Cron-style schedule | schedule (cron expr), timezone |
event_based | Specific webhook event | event_type, filter (optional) |
manual | Partner explicitly requests | No config |
transaction_count | Nth transaction accumulates | count, within_window (optional) |
priority order (lower first). First matching rule wins.
Action types
| Action | Effect |
|---|---|
settle_to_bank | Move funds to registered bank account |
settle_to_account | Move between Sly accounts |
settle_to_wallet | Move between Sly wallets (same or cross-tenant with permission) |
hold | Lock balance (for reserve / holdback logic) |
notify | Fire webhook without moving funds |
List + inspect rules
Update / disable
DELETE removes the rule and its execution history.
Manual settlement
Bypass all rules and settle a wallet immediately:Common rule patterns
Daily merchant payout at 2am Eastern:Endpoints
| Endpoint | Purpose |
|---|---|
GET /v1/settlement-rules | List rules |
GET /v1/settlement-rules/:id | Rule detail |
POST /v1/settlement-rules | Create |
PATCH /v1/settlement-rules/:id | Update |
DELETE /v1/settlement-rules/:id | Remove |
GET /v1/settlement-rules/:id/executions | Execution log |
POST /v1/settlement-rules/request-manual | Force settlement now |
Interaction with windows
Rules and windows compose:- Windows define the maximum batching cadence
- Rules can trigger settlement earlier than the window
- Rules never delay past a window — windows are the ceiling
