> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/pinnaprison/core/currencies.md).

# Currencies

A **currency** is a spendable balance (Money, Tokens, Gems…). Each currency is one file in `currencies/<id>.yml` — the filename is the currency **id**. Every currency automatically gets its own command. You can create unlimited currencies.

## Default currencies

| Id              | Name           | Typical use                        |
| --------------- | -------------- | ---------------------------------- |
| `money`         | Money          | Main economy, Vault currency.      |
| `tokens`        | Tokens         | Buying enchants.                   |
| `gems`          | Gems           | Premium upgrades.                  |
| `beacons`       | Beacons        | Rare mined currency.               |
| `shards`        | Shards         | Autominer enchants, attributes.    |
| `pickaxexp`     | Pickaxe XP     | Levels the pickaxe leveling track. |
| `rankupxp`      | Rankup XP      | Levels the rankup track.           |
| `rebirthpoints` | Rebirth Points | Spent in the rebirth skill tree.   |

{% hint style="info" %}
`pickaxexp`, `rankupxp` and `rebirthpoints` are currencies that feed the [leveling](/p/pinnaprison/core/leveling.md) / [rebirth](/p/pinnaprison/core/rebirth.md) systems — players earn them from mining and spend them by levelling up.
{% endhint %}

## Currency file

`currencies/money.yml`:

```yaml
max-value: 0          # 0 = unlimited
starting-value: 0     # amount new players start with

display-name: 'Money'
vault-currency: true  # register with Vault (other plugins can use it)

color:
  primary: '&a'
  secondary: '&e'

commands:
  main:
    permission: ''
    command: money
    aliases: []
  pay:
    enabled: true
    permission: 'pinnaprison.balance.pay'
  balance:
    permission: ''
    balance-other-permission: 'pinnaprison.balance.others'
  give:
    permission: 'pinnaprison.balance.give'
  set:
    permission: 'pinnaprison.balance.set'
  remove:
    permission: 'pinnaprison.balance.remove'
```

| Key                                 | Description                                                                                                                            |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `max-value`                         | Maximum a player can hold. `0` = unlimited.                                                                                            |
| `starting-value`                    | Amount new players start with.                                                                                                         |
| `display-name`                      | Display name in messages and menus.                                                                                                    |
| `vault-currency`                    | Register this currency with Vault so other plugins (shops, etc.) can use it. Only **one** Vault currency should be the "main" economy. |
| `color.primary` / `color.secondary` | Colour codes used for this currency in plugin output.                                                                                  |

## Commands

Each currency exposes a command named after `commands.main.command`. For `money.yml` that's `/money`.

| Command                                | Description                                            | Permission                                                 |
| -------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------- |
| `/<currency>`                          | Check your balance.                                    | `commands.main.permission`                                 |
| `/<currency> balance [player]`         | Check your (or another player's) balance.              | `commands.balance.permission` / `balance-other-permission` |
| `/<currency> pay <player> <amount>`    | Pay the currency to another player (if `pay.enabled`). | `commands.pay.permission`                                  |
| `/<currency> give <player> <amount>`   | Give currency to a player.                             | `commands.give.permission`                                 |
| `/<currency> set <player> <amount>`    | Set a player's balance.                                | `commands.set.permission`                                  |
| `/<currency> remove <player> <amount>` | Remove currency (alias `take`).                        | `commands.remove.permission`                               |
| `/<currency> help`                     | Show command help.                                     | –                                                          |

An empty permission (`''`) means no permission is required.

## Placeholders

```
%pinnaprison_currency_balance_<id>%            -> raw balance
%pinnaprison_currency_balance_<id>_formatted%  -> 1.5M
```

See [Placeholders](/p/pinnaprison/reference/placeholders.md) for all variants.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://edseries-plugins.gitbook.io/p/pinnaprison/core/currencies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
