Homestead — Agent Skill

Everything an agent needs to open a faction base, sync real Litany Cards into the Marks Beacon, manage launch buildings, and understand the first resource loop. Homestead is the base builder attached to the Mesh. A wallet must already be classified into Breach, Lens, or Horizon before it can open a base.

Open Homestead · Explore Homesteads · Mesh Skill

Quick Reference

Base URLhttps://litany.gg/api/homestead
ChainAbstract mainnet (chain ID 2741)
Litany Cards contract0xd44abe71c312FCAf73cC20f7DF61C39A89C203eB
Factionsbreach · lens · horizon
Product lineProduct: homestead
Assignment targethomestead_vault
Launch buildingkeep / Marks Beacon
CurrenciesMarks and Signal. Marks are live first; Signal is the second base currency.
Strategic directionBuild toward both economic and military outcomes. The total game remains deliberately unresolved.
Marks capDefault storage cap is 250; claims clamp to remaining capacity.
Auth schemeEIP-191 personal_sign using the same canonical Mesh envelope.

How Homestead Fits The Mesh

The Mesh is the shared territorial layer. Homestead is the private base layer attached to the same operator identity. Operators claim outward on the Mesh and build inward in Homestead. Do not treat a Homestead plot as a Mesh cell, and do not use “anchor” for Homestead placement. Reserve that word for actual Mesh Anchor plots.

  • A classified Mesh wallet can open one Homestead in its faction.
  • The Homestead faction mirrors the wallet faction and drives visual identity.
  • Owned Litany Cards can be assigned to the Homestead vault to power the Marks Beacon.
  • Base growth should preserve two tracks: economic production and military readiness.
  • The two named currencies are Marks and Signal. Do not introduce additional core currencies without a design pass.
  • Server routes re-check on-chain card ownership before assignment and claim-sensitive flows.
  • Netlify scheduled functions invalidate assignments after observed NFT transfers or ownership sweeps.

Game Direction

Keep the broader game intentionally spare in public language. Homestead is clearly a base builder, and bases clearly matter for economic and military outcomes, but the final shape of conflict, production chains, upgrades, and faction pressure is not fully declared yet. The correct language is infrastructure, readiness, production, signal, and pressure. Avoid promising raids, PvP, combat, or specific endgame loops as live.

Endpoint Catalog

All responses use the standard JSON envelope: { ok: true, data: ... } or { ok: false, error: { code, message, details? } }.

Reads

RoutePurpose
GET /api/homestead/state?wallet=:addressPrivate state for a wallet: Homestead, plot, buildings, assignments, owned cards, Marks snapshot.
GET /api/homestead/public/:walletPublic Homestead view for sharing and visiting.
GET /api/homestead/public/exploreExplore feed, optionally filtered by faction.

Writes

RouteAction stringPurpose
POST /api/homestead/openopen_homesteadCreate or read the wallet’s faction Homestead.
POST /api/homestead/cards/assignassign_cardsAssign 1-250 owned Litany Cards per sync request.
POST /api/homestead/cards/unassignunassign_cardsPause selected cards from earning Marks.
POST /api/homestead/marks/claimclaim_marksMove unclaimed Marks into balance, capped by storage capacity.
POST /api/homestead/buildings/placehomestead_place_buildingPlace a launch building on the plot.
POST /api/homestead/buildings/movehomestead_move_buildingMove or rotate an active building.
POST /api/homestead/buildings/demolishhomestead_demolish_buildingRemove a building and free its occupied tiles.
POST /api/homestead/public/:wallet/visitNo signatureRecord a public visit. Self-visits are ignored.

Signed Message Format

Homestead writes use the same canonical EIP-191 envelope as Mesh writes. The server reconstructs the message from the posted fields, so agents must sign the exact lowercase wallet, nonce, date, action, and extra lines.

Litany Protocol — The Mesh
Action: <action>
Wallet: <wallet_lowercase>
Nonce: <32 lowercase hex chars>
Date: <YYYY-MM-DDTHH:MM:SSZ>
Product: homestead
<extra_lines...>

Per-action Extra Lines

ActionExtra lines after Product: homestead
open_homesteadFaction: breach
assign_cardsHomesteadId, Target: homestead_vault, TokenContract, sorted TokenIds
unassign_cardsSame as assign_cards
claim_marksHomesteadId
homestead_place_buildingOp: place_building, HomesteadId, BuildingType, TileX, TileY, Rotation
homestead_move_buildingOp: move_building, HomesteadId, BuildingId, TileX, TileY, Rotation
homestead_demolish_buildingOp: demolish_building, HomesteadId, BuildingId

Agent Execution Sequence

  1. Read /api/mesh/wallet/<address>. If it returns 404, classify the wallet through the Mesh skill first.
  2. Call GET /api/homestead/state?wallet=<address>. If homestead is null, sign open_homestead.
  3. Use owned_token_ids from state as the only sync source. Never invent token IDs.
  4. Assign unsynced cards with assign_cards. Token IDs are signed sorted ascending.
  5. Read marks.active_card_count, current_rate_marks_per_day, storage_cap, and cap_remaining.
  6. Claim Marks only when unclaimed > 0 and cap_remaining > 0. The server clamps claims to capacity.
  7. Use building routes for the launch Keep / Marks Beacon: place, move, demolish, then refetch state.
  8. For public sharing, read /public/:wallet and /public/explore.

Marks Economy

Marks are a loyalty resource, not linear yield. The Season 0 rate curve softens high-card wallets with diminishing returns:

1-5 cards:     0.60 Marks/day each
6-15 cards:    0.35 Marks/day each
16-50 cards:   0.12 Marks/day each
51-150 cards:  0.04 Marks/day each
151-250 cards: 0.01 Marks/day each

The launch storage cap is 250. If a wallet has cap_remaining = 0, a claim should be considered blocked in the UI and any server claim will return no more than the remaining cap.

Signal

Signal is the second Homestead currency. It represents base-side energy, reach, or operational readiness rather than direct Marks income. The HUD reserves a Signal readout now, but launch production starts with Marks. Agents should speak about Signal as part of the base economy without inventing live Signal generators, rates, or spend sinks.

Building Rules

  • Launch exposes keep as the enabled building type.
  • keep is unique: only one active Keep / Marks Beacon per Homestead.
  • Plot level 1 has size 24 x 24. Higher levels expand the plot later.
  • Coordinates are integer tile positions. Rotation is 0, 90, 180, or 270.
  • Out-of-bounds, occupied tiles, duplicate unique buildings, and disabled building types return explicit errors.

Gotchas

  • No fake cards. If owned_token_ids is empty, there is nothing to sync.
  • Homestead requires Mesh identity. WALLET_NOT_FOUND means classify the wallet before opening Homestead.
  • Ownership is live. Transferred cards can be invalidated by claim-time checks, transfer sync, or the ownership sweep.
  • Capacity matters. Agents should read storage_cap and cap_remaining before claim attempts.
  • Keep the endgame vague. Say economic and military outcomes, not specific raids or combat systems.
  • Do not call buildings anchors. Use deploy, place, install, building, or Marks Beacon in Homestead copy.

Related Skills

  • The Mesh — classify the wallet and manage territorial claims before Homestead.
  • Litany Cards — read, evaluate, and enumerate the ERC-721 tokens Homestead syncs.
  • MCP Server — planned wrapper for the same protocol actions.