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

# Contracts

How a boosting contract plays out, and the default rewards per class.

## The loop

1. **Search.** Open the tablet (`/boosting`, or using the Boosting Tablet item) and connect to a Wi-Fi network. Searching takes a few minutes; a faster network finds contracts sooner.
2. **Accept.** Contracts for your class appear. Accepting one costs its crypto buy-in.
3. **Start.** A search area appears on the map. Drive there and find the car.
4. **Hack the door.** With a door tool, hack into the car. Higher classes may have guards around it, and most classes alert the police.
5. **Kill the tracker.** From C class up, the car carries a GPS tracker. Each hack with a GPS tool disables part of it, with a cooldown between hacks, while the police can follow the car.
6. **Deliver.** Drive to the delivery point and hand the car to the dealer for cash, crypto and XP.

A found contract expires after 60 minutes (`ContractExpiry`). Contracts also fail when their car is deleted or impounded.

## Classes and rewards

Defaults from `configs/server.lua` → `ClassConfig`:

| Class | XP to unlock | Buy-in (crypto) | Cash             | Crypto      | XP  | Police on duty | GPS hacks | Keep the car (crypto) |
| ----- | ------------ | --------------- | ---------------- | ----------- | --- | -------------- | --------- | --------------------- |
| D     | 0            | 0               | $1,500 – 3,000   | 8 – 10      | 67  | 0              | 0         | –                     |
| C     | 1,000        | 20 – 50         | $3,500 – 7,000   | 33 – 66     | 100 | 6              | 5         | –                     |
| B     | 4,000        | 100 – 200       | $10,500 – 17,500 | 143 – 275   | 240 | 8              | 7         | –                     |
| A     | 10,000       | 300 – 500       | $24,500 – 35,000 | 440 – 715   | 480 | 10             | 10        | 2,500                 |
| S     | 22,000       | 600 – 1,000     | $42,000 – 63,000 | 880 – 1,320 | 80  | 12             | 15        | 5,000                 |
| S+    | S class      | 600 – 1,000     | $42,000 – 63,000 | 880 – 1,320 | 80  | 12             | 15        | 5,000                 |

On delivery, the player who bought the contract gets half the buy-in back (`SquadScaling.BuyerDepositRefund`). In a squad, payouts change: see [Squads](/alt0-docs/alt0-boosting/squads.md).

## Police

Each class needs a number of police on duty before its contracts can be found (`cops`, plus `RequiredPolice` for every contract). `DisablePoliceRequirement = true` turns the requirement off.

Every class except D alerts the police when the car is stolen (`Dispatch.RankDispatch`).

## Keeping the car (VIN scratch)

A, S and S+ cars can be kept instead of delivered by paying the class's `vinPrice` in crypto. The car is added to the player's garage. On Qbox this needs `qbx_vehicles`. Set `VinScratchingEnabled = false` to turn it off.

## Damage

`EngineDamagePenalty` takes cash off the payout for engine damage on delivery, never more than `MaxEngineDamagePenalty` of it. It is off by default.

## Trading contracts

Contracts are items. A player can give a found contract to someone nearby, or sell it for crypto, from the tablet. The other player must be within `TransferMaxDistance` and accept within `TransferTimeout`.
