Hello, Fellow Citizens!
We have been heads-down on the quest revamp, but in between the big feature work we are always looking for ways to make the TerraCore ecosystem more reliable for everyone building on it. Today's update is aimed squarely at our developers, bot operators, and third-party builders — the people running scripts, dashboards, and automation tools on top of TerraCore.
If that is you, read on. If it is not — stick around anyway, because this update is part of how we keep the game healthy for everyone.
The Problem We Solved
TerraCore has 2,701 registered players and a growing number of third-party bots and tools running against our public API. Claim bots, battle bots, price monitors, stat dashboards — there are more of them every month, which is awesome.
The problem is that up until today, there was no reliable way for those tools to know when something changed. If we updated the crate price formula, adjusted an upgrade cost, or added a new endpoint — a bot would just keep running against the old assumptions until something broke. The only signal was silence, followed by unexpected behavior.
That is not good enough. So we fixed it.
Introducing: GET /version
We have added a dedicated version endpoint to the TerraCore API. Any bot, script, or integration can call it at startup to get a snapshot of the current API state:
GET https://api.terracoregame.com/version
The response looks like this:
{
"version": "2026.04.1", // calendar versioning: YYYY.MM.patch
"released": "2026-04-27", // ISO 8601 date of this release
"notes": "https://peakd.com/@terracore",
"changelog": "https://www.terracoregame.com/wiki/changelog",
"llms": "https://www.terracoregame.com/llms.txt"
}
The version string follows calendar versioning — the same format we use on the frontend. Year, month, and a patch number that increments any time something observable changes. When you see the version tick from 2026.04.1 to 2026.04.2, you know something changed and exactly where to find out what.
The Response Header — No Extra Call Needed
We also added a version header to every single API response. Every endpoint — player data, battles, leaderboard, crate prices, all of them — now returns:
X-TerraCore-API-Version: 2026.04.1
This means your bot does not even need to call /version on every cycle. Just check the header on any response you are already receiving. If it changes, pause and check the changelog before continuing. Here is a minimal Python example:
import requests
resp = requests.get("https://api.terracoregame.com/stats")
api_version = resp.headers.get("X-TerraCore-API-Version")
if api_version != LAST_KNOWN_VERSION:
print(f"API updated to {api_version} — check changelog before continuing")
# fetch https://api.terracoregame.com/version for links
And a JavaScript / Node example:
const res = await fetch("https://api.terracoregame.com/player/myaccount");
const apiVersion = res.headers.get("X-TerraCore-API-Version");
if (apiVersion !== lastKnownVersion) {
console.log(`API version changed to ${apiVersion} — review changelog`);
}
Simple. No polling overhead. Works on any existing request you are already making.
What Triggers a Version Bump
We have documented exactly what warrants a version bump so you can rely on the signal:
- Any cost or burn rate changes — crate prices, upgrade costs, quest fees, boss fight costs
- Any endpoint added, removed, or renamed
- Any response field added, removed, or renamed
- Rate limit changes
- Any behavioral fix that changes what a bot would observe
This rule is now baked into all three of our module development guides (API, Smart Contract, and Frontend). When a cost changes in the Smart Contract, the API version bumps in the same commit. When a new endpoint is added, the version bumps. No more silent changes.
The llms.txt File
While we were at it, we updated our machine-readable API summary at https://www.terracoregame.com/llms.txt. This file is designed for AI tools, LLMs, and bots that need a structured overview of TerraCore's API and blockchain operations. It now includes a full versioning section at the top:
- Current version string
- The
/versionendpoint URL - The header name to watch
- What a version change means and where to look
If you are building a TerraCore integration and want a single document that covers all the endpoints, operation IDs, token formats, and authority levels — that file is it.
By the Numbers
TerraCore continues to grow. As of today:
- 2,701 total players registered on the battlefield
- 646.9 million $SCRAP permanently burned since launch
- 170.8 million $SCRAP currently in circulation
- 78.2 million $SCRAP sitting in the treasury, fueling daily leaderboard rewards
Every integration that runs cleanly against the API is another player who can trust that their bot is not going to do something unexpected. This update is for them.
Wrapping Up
This is a small change on the surface — a new endpoint, a response header, some documentation. But for the people building on TerraCore it is a meaningful upgrade to the reliability contract between us and the ecosystem. You should never have to guess whether something changed. Now you will not have to.
We are still deep in the Quest Revamp work and have a lot to show you soon. If you are a bot operator or developer and have questions about the new versioning system — or suggestions for what else would make your life easier — jump into our Discord and let us know. We read everything.
See you on the battlefield.
That's it for today, all the links are below be sure to follow us to hear what we are working on and follow the progress!
Play Terracore | Check Out our Wiki | Follow us on Twitter | Follow us on PeakD | Come join the Discord