Create a campaign, accept pre-orders via Stripe, track backers and goals. The Kickstarter alternative for product launches that you control entirely.
Every operation in Grubstake is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/campaigns — list all campaigns with optional search and filter query parametersPOST /api/campaigns — create a new campaign recordGET /api/campaigns/{id} — retrieve a single campaign by IDPUT /api/campaigns/{id} — update an existing campaignDELETE /api/campaigns/{id} — remove a campaignGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringSelf-hosting used to mean spending a weekend configuring Docker, Postgres, Redis, and an Nginx reverse proxy. Grubstake skips all of that. It compiles to a static binary with an embedded database, so there is nothing to install and nothing to maintain.
Start Grubstake with a port and a data directory. It creates its SQLite database on first run and serves both the API and the dashboard on the same port. Create campaigns through the web interface or POST JSON to the API. Filter by description, goal amount, or search by keyword. Update records with PUT, delete with DELETE. The stats endpoint returns aggregate counts grouped by status for monitoring.
A regulated company runs Grubstake inside their air-gapped network. No data leaves the building. Compliance auditors can inspect the SQLite file directly. When the team needs a report, they query the API and format the output however the auditor expects.
GET /api/campaigns — List all campaigns. Supports ?q=keyword for search and ?status=value for filteringPOST /api/campaigns — Create a new campaign. Send JSON with at least titleGET /api/campaigns/{id} — Fetch one campaign by IDPUT /api/campaigns/{id} — Update fields on an existing campaignDELETE /api/campaigns/{id} — Remove a campaignGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted crowdfunding and pre-orders. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool grubstake
PORT=8800 ./grubstake
http://localhost:8800
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export GRUBSTAKE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./grubstake
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.