> For the complete documentation index, see [llms.txt](https://jiffyjrdevelopment.gitbook.io/jiffyjrdevelopmentdocs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jiffyjrdevelopment.gitbook.io/jiffyjrdevelopmentdocs/jiffy-jr-development-docs/jiffy-banking-v1/features/illegal-banking.md).

# illegal banking

Illegal banking allows players to exchange dirty money items for clean cash at a configurable conversion rate, at locations placed by admins.

## Configuration

```lua
Config.IllegalBank = {
    Enabled           = true,
    ConversionRate    = 0.80,    -- player keeps 80% (20% laundering fee)
    MaxPerTransaction = 100000,
    DirtyMoneyItems   = {
        'markedbills', 'blackmoney', 'dirtymoney',
        'dirty_money', 'black_money'
    },
    OutputTo = 'cash',   -- 'cash' | 'bank' (credit checking account)
}
```

{% hint style="info" %}
`DirtyMoneyItems` is checked in order — the **first matching item** found in the player's inventory is used. You only need to include the item names your server actually uses.
{% endhint %}

## How It Works

1. Player approaches an illegal bank location, placed via the [Dynamic Locations](/jiffyjrdevelopmentdocs/jiffy-jr-development-docs/jiffy-banking-v1/advanced-features/dynamic-locations.md) page.
2. Player opens the UI and sees their dirty money balance.
3. Player selects an amount (up to `MaxPerTransaction`).
4. The dirty money item is removed and the converted amount is added as cash or bank balance.

## Conversion Rate

| `ConversionRate` | Player keeps | Fee    |
| ---------------- | ------------ | ------ |
| `1.0`            | 100%         | No fee |
| `0.80`           | 80%          | 20%    |
| `0.70`           | 70%          | 30%    |
| `0.50`           | 50%          | 50%    |

## Discord Logging

All wash transactions can be logged to Discord. See [Discord Webhooks](/jiffyjrdevelopmentdocs/jiffy-jr-development-docs/jiffy-banking-v1/advanced-features/discord-webhooks.md) for setup.

```lua
Config.Discord.Thresholds = {
    illegal_wash = 0,    -- 0 = log every wash; raise to suppress small amounts
}
```

## Location Models

Illegal bank locations use a ped or prop model set during placement. Defaults:

```lua
Config.IllegalBank.DefaultPedModel    = 'g_m_y_mexgang_01'
Config.IllegalBank.DefaultPedScenario = 'WORLD_HUMAN_STAND_IMPATIENT'
Config.IllegalBank.DefaultPropModel   = 'prop_washer_01'
```
