> For the complete documentation index, see [llms.txt](https://mavenverse.gitbook.io/mavenverse-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mavenverse.gitbook.io/mavenverse-docs/economy-and-custom-tickets.md).

# Economy & Custom Tickets

Vault economy fares and custom item transit passes

Monetize transit routes using Vault currency fares, custom physical transit passes, or VIP permission locks.

## Vault Economy Fares

If your server runs Vault and an economy plugin, you can charge players to ride.

### Setting a Fare

```bash
/zipline edit <id> cost <amount>
```

*Example:* `/zipline edit alpine_express cost 15.0` charges 15 server currency per ride.

To make a line free:

```bash
/zipline edit <id> cost 0.0
```

When a player boards, the fare is automatically deducted from their account. If they don't have enough money, they are notified and cannot board.

***

## Physical Tickets & Custom Tokens

You can require players to hold a physical item to ride—like a paper ticket, a custom token, or a special pass from an RPG or custom item plugin.

### Set Ticket from Your Hand

Hold the item you want to use in your main hand and run:

```bash
/zipline edit <id> ticket hand [amount] [custom_name]
```

*Example:* Hold your custom token and type `/zipline edit alpine_express ticket hand 1`.

### Automatic Custom Item & Token Detection

Zipline automatically inspects the item in your hand to determine its proper name:

* **Custom Display Names**: Anvil or component names (e.g. `TN Token`).
* **Modern Item Models (`item_model`)**: If your item uses modern `item_model="tntoken"` (from 1.21.2+ or resource packs), Zipline automatically formats the identifier into a clean name like `TN Token`.
* **Custom Item Plugins**: Automatically reads IDs and tags from plugins like Oraxen, ItemsAdder, MMOItems, Nexo, and EcoItems.
* When players without the ticket attempt to board, the error message clearly displays the actual custom token name (e.g. `You need 1x TN Token to ride zipline alpine!`) rather than the underlying base material like `PAPER`.

### Setting or Overriding the Ticket Name

You can explicitly set or customize the name shown to players at any time:

```bash
/zipline edit <id> ticket_name &6TN Token
```

*(To reset back to the auto-detected name, use `/zipline edit <id> ticket_name clear`)*

### Set Ticket by Vanilla Item Type

```bash
/zipline edit <id> ticket PAPER 2
```

### Remove Ticket Requirement

```bash
/zipline edit <id> ticket none
```

### Single-Use vs. Reusable Passes

Control whether the ticket is consumed when the player rides:

```bash
/zipline edit <id> ticket_consume true
```

* `true`: Consumes the ticket from inventory on boarding (single-use ticket).
* `false`: Checks that the player has the pass, but leaves it in their inventory (season pass).

***

## VIP & Permission-Locked Lines

Restrict special ziplines to donors, staff, or quest completions:

```bash
/zipline edit <id> permission true
```

* Players need the permission node: `zipline.access.<id>` (or `zipline.access.*`).
* Set a custom denial message:

  ```bash
  /zipline edit <id> deny_message &cYou need VIP access to ride this line!
  ```

  *(Reset to default with `/zipline edit <id> deny_message clear`)*


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://mavenverse.gitbook.io/mavenverse-docs/economy-and-custom-tickets.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
