Start Here
Introduction
Boundless Missions is a contract economy for a Kerbal Space Program community. Players hire each other to build ships and fly missions, the reward is held in escrow until the job is delivered, and the finished craft moves from one save into another.
The short version
Someone posts a job. Someone else takes it, flies it, and submits it from inside KSP with the vessel’s real state attached. The issuer reviews the submission, the escrowed payment is released, and if the contract was for a craft, that craft is installed into the issuer’s save.
Everything else in this documentation is a variation on that, or a consequence of it. Auctions change how the price is agreed. Rescues change what is being handed over. Weekly missions replace the issuer with the community. The marketplace is the same delivery machinery without a contract in front of it.
The three pieces
Discord bot
Python and discord.py, with a FastAPI server running in the same process. Wallets, contracts, auctions, weekly missions, moderation and tickets.
KSP add-on
A C# add-on that brings all of it into the game: linking, the sidebar, submission, and craft transfer between saves that are never identically modded.
REST API
The only thing the two share. Signed session tokens, versioned routes under /api/v1, and no secret ever handed to the game client.
Three places, one account
The same account reaches the system three ways, and which one you use is a matter of where you happen to be:
- Discord for the boards, the announcements, the leaderboards and anything social.
- This website for browsing and buying craft, and for managing contracts on a proper screen.
- The game for everything that has to read the ship in front of you: submitting, listing a craft for sale, installing what arrives.
The wallet is global rather than per server, so your balance and XP follow you between any Discord servers the bot is in.
Where to go next
If you are here to play, start with Linking Your Game and then Contracts. If you are here to run or build on it, the Architecture page is the right door.
Two languages, one boundary
The bot is Python and the add-on is C#. They share no code at all, only the REST API and a signed token format. That boundary is what keeps credentials off the game client: the add-on can present a token, but it cannot forge one and it holds nothing else worth taking.