Playing

Contracts

A contract is one player paying another to do something in Kerbal Space Program. It is the centre of the system, and auctions, rescues and weekly missions are all variations on it.

The four kinds

Craft build

craft_build

Build a ship to a spec and hand the file over. The contractor submits the craft from the editor, and on acceptance it installs into the issuer's save.
Active vessel

active_vessel

Fly a mission. The contractor submits from flight, and the vessel's live situation, body, crew and resources are attached as evidence.
Rescue

rescue

Go and get a stranded ship and crew. The wreck really leaves the issuer's save and spawns in the rescuer's. Covered in full on its own page.
Flag design

flag_design

Artwork rather than a ship. The deliverable is a flag image, which installs like any other flag on acceptance.

Writing one

Contracts are written in the contract form in the game’s sidebar. That is the only place they can be written, because the form reads your install as you fill it in: the player list, the parts a restriction would cover, the body a target sits on. Neither Discord nor this website can see any of that, which is the same reason neither of them can receive a submission.

A contract carries:

  • A contractor. A specific player, picked from a searchable list with favourites. You cannot send one to yourself.
  • A mission text. Written in plain language. It is also what the constraint extraction reads, so “no nuclear engines, under 40 parts” is not just flavour.
  • A payment and a fine. The payment is debited from you when the contract is sent. The fine is what the contractor pays if they fail it.
  • A deadline. Either a duration in hours or a date from the calendar picker.
  • A part restriction, optionally. See the table below.

Ten at a time

A player can hold ten active contracts at once, counted across both sides. That is a cap on how much you can have running, not on how much you can do.

Part restrictions

A restriction says which parts the contractor may build with. It is declared by the issuer as a mode rather than as a list, because a list of part names written by hand is wrong the moment either side changes mods.

Any

none

No restriction. Build it however you like.
Stock

stock

Squad parts only, with no expansion parts.
Stock + DLC

stock_dlc

Squad plus the official expansions, Making History and Breaking Ground.
My mods

mine

Every mod currently installed on the issuer's game. The usual choice when the issuer wants a craft that will actually load for them.
Janitor's

janitor

Only the mods visible in the issuer's Janitor's Closet filter, for a curated subset of a large install.

On the contractor’s side, an active contract that sets a restriction can arm the editor enforcer, which limits the VAB and SPH part list to what is permitted. It is a switch in the inbox rather than something forced on you, so you can still open the editor for unrelated work.

Constraints read out of the mission text

Beyond the mod restriction, the mission text itself is parsed for harder limits, which the submission is then checked against. These land on a fixed vocabulary rather than free text, so the game can enforce them:

  • Required and forbidden specific parts.
  • Required and forbidden propellants.
  • Required and forbidden engine categories, and part categories.
  • Minimum and maximum part count.
  • Minimum and maximum delta-v.
  • Minimum and maximum crew, where a maximum of zero means fly it uncrewed.
  • Crew professions, matched on the exact profession string so a contract written on a modded install still means something on one without it.

Extraction is done by the AI where it is available and by keyword heuristics where it is not, and the result is the same shape either way. See AI Integration for what happens when the model is unavailable.

The lifecycle

  1. 1

    Pending

    Created and offered. The payment has already left the issuer’s wallet and is held. The contractor has not answered yet.

  2. 2

    Active

    Accepted. It appears on the contractor’s active list in Discord, on this website and in the game’s inbox, together with any part limits it carries. Declining or cancelling at this stage returns the escrow.

  3. 3

    Submitted

    The contractor submits from inside KSP. What goes with it depends on the kind: the craft file and a rendered blueprint for a build, the live vessel telemetry for a flight, screenshots either way. None of that exists in a browser, which is why submitting is the one contract action this website cannot do for you.

    A flag design is the exception, and it is uploaded here or in Discord rather than in the game: its whole deliverable is an image, so there is nothing for the game to read. The issuer reviews a watermarked, downscaled copy; the clean full-res file is handed over only when they accept, and lands in their in-game flag picker.

  4. 4

    Completed, or disputed

    The issuer reviews. Accepted releases the escrow to the contractor and delivers the craft, crew or flag into the issuer’s save. Refused opens a dispute rather than simply ending.

When it goes wrong

A refused submission puts the contract into dispute, where the contractor picks how to resolve it: settle on the agreed penalty, ask the issuer for more time, or escalate to the moderators for a human decision.

Left alone, a dispute does not sit there forever. The fine collects itself three days after the dispute opened, because a dispute that never closes would be a free way to dodge the penalty. That clock runs from the moment the dispute opened and does not pause while a settle or extension request is pending, since pausing it would hand back the same loophole through another door.

A contractor gets one extension request per dispute. Submitting again and being refused again opens a new dispute, which resets that count.

Escalation is for people, not scripts

The moderator route exists for the cases nobody can automate: a mission text that turned out to be ambiguous, a submission that meets the letter of the contract and not the intent, a disagreement about what was actually asked for. It posts to a moderation channel with both sides attached.

Reporting the other party

Suing and reporting are different things, and picking the wrong one wastes everybody’s time. Sue asks a moderator to decide a contract: was this delivery what was asked for? Report is about a person: an abusive mission text, a deal somebody refuses to honour, a contract written to be impossible so the fine collects itself.

Report sits on the contract in KSP and on the website’s Contracts page, in every state: a mission text does not stop being abusive once the contract has finished. It opens a private ticket in your own server with a moderator pinged, carrying the contract, both accounts and what you wrote. The other party is named in it but is not given access.

One report per contract per person, so filing the same complaint twice does not make it louder. Weekly missions cannot be reported, since the bot is not somebody a moderator can take it up with. If a weekly mission itself is broken, that is a bug report, from the mod’s Tools tab.

Not a substitute for the dispute buttons

A late delivery, or a disagreement about whether the work was good enough, is not a report. Settle, Ask for more time and Sue exist for those, and they are the ones that can actually move the money.