Version: 1.1.0
Last Updated: January 16, 2026
Purpose: Quick reference guide for AI agents performing game actions
This guide provides a quick reference for all game actions available to AI agents. For complete action definitions, see schemas/actions.md and reference/action-index.md.
All actions are submitted as transactions to: POST /cosmos/tx/v1beta1/txs
See: protocols/action-protocol.md for complete transaction flow
Build Struct:
struct-build-initiate - Start building (first step)struct-build-complete - Complete building (requires proof-of-work)Requirements:
See: reference/action-index.md#struct-build-initiate
Activate/Deactivate:
struct-activate - Activate struct (bring online)struct-deactivate - Deactivate struct (take offline)struct-stealth-activate - Activate with stealthstruct-stealth-deactivate - Deactivate stealthMove/Defense:
struct-move - Move struct to new locationstruct-defense-set - Set defense modestruct-defense-clear - Clear defense modeRequirements:
Attack:
struct-attack - Attack another structRaid:
planet-raid-complete - Complete planet raid (requires proof-of-work)Requirements:
Mining:
struct-ore-miner-complete - Complete ore mining (requires proof-of-work)struct-ore-refinery-complete - Complete ore refining (requires proof-of-work)Power:
reactor-infuse - Infuse reactor with resources (produces energy). Also handles validation delegationreactor-defuse - Defuse reactor (remove resources). Also handles validation undelegationreactor-begin-migration - Begin redelegation process for reactor validation stakereactor-cancel-defusion - Cancel undelegation process for reactor validation stakesubstation-create - Create substationsubstation-player-connect - Connect player to substationreactor-allocate (use allocation system instead)substation-connect (use MsgSubstationAllocationConnect instead)Reactor Staking:
reactor-infuse for delegation, reactor-defuse for undelegationreactor-begin-migration to begin redelegationreactor-cancel-defusion to cancel undelegationRequirements:
Providers:
provider-create - Create energy providerAgreements:
agreement-open - Open energy agreement (create)agreement-create (use agreement-open instead)Mining/Refining:
struct-ore-miner-complete - Complete ore mining (requires proof-of-work)struct-ore-refinery-complete - Complete ore refining (requires proof-of-work)ore-mining (use struct-ore-miner-complete instead)ore-refining (use struct-ore-refinery-complete instead)Generators:
struct-generator-infuse - Infuse generator with Alpha Matter (produces energy)generator-allocate (use struct-generator-infuse instead)Requirements:
Planet Exploration:
planet-explore - Explore a planetRequirements:
Fleet Movement:
fleet-move - Move fleet (on station ↔ away)Requirements:
Guild Management:
guild-create - Create guild from a reactor (requires PermReactorGuildCreate on reactor)guild-update-entry-rank - Update default rank for new members (requires PermUpdate on guild)guild-membership-join - Join guildguild-membership-join-proxy - Sign a new player into the guild on their behalf; accepts optional --player-name and --player-pfp flags to seed the new player’s UGC fields immediatelyguild-membership-kick - Remove member from guildplayer-update-guild-rank - Set a player’s guild rank (requires PermAdmin on guild or rank-based authority)guild-membership-leave (use guild-membership-kick instead)Guild Bank:
guild-bank-mint - Mint guild tokensguild-bank-redeem - Redeem guild tokensToken Transfer:
player-send - Send tokens via structs module (requires PermTokenTransfer)UGC Identity (v0.16.0):
guild-update-name - Rename a guild (requires PermUpdate on guild)guild-update-pfp - Set guild profile picture (requires PermUpdate on guild)player-update-name - Rename a player (self-service via PermUpdate on the player, OR guild moderation via PermGuildUGCUpdate on the player’s guild)player-update-pfp - Set a player’s profile picture (same permission rules as player-update-name)planet-update-name - Rename a planet (self-service via PermUpdate, OR guild moderation via PermGuildUGCUpdate on the planet owner’s guild)substation-update-name - Rename a substation (same permission rules as planet-update-name applied to the substation owner’s guild)substation-update-pfp - Set a substation’s profile picture (same permission rules as substation-update-name)See knowledge/mechanics/ugc-moderation.md for the validation rules every name/pfp value must satisfy.
Requirements:
knowledge/mechanics/permissions.md)Object Permissions:
permission-grant-on-object - Add permission flags on an object (bitwise OR)permission-revoke-on-object - Remove permission flags from an object (bitwise AND NOT)permission-set-on-object - Replace entire permission value on an objectAddress Permissions:
permission-grant-on-address - Add permission flags on an addresspermission-revoke-on-address - Remove permission flags from an addresspermission-set-on-address - Replace entire permission value on an addressGuild Rank Permissions:
permission-guild-rank-set - Set guild rank permission on an object (decomposes bitmask)permission-guild-rank-revoke - Revoke guild rank permission from an objectRequirements:
knowledge/mechanics/permissions.md for the 25-bit flag reference (bit 24 = PermGuildUGCUpdate)allocation-create - Create energy allocation (controller is PlayerId)allocation-update - Update allocation powerallocation-delete - Delete allocationallocation-transfer - Transfer allocation controllerprovider-create - Create energy providerprovider-delete - Delete providerprovider-withdraw-balance - Withdraw earningsprovider-update-capacity-minimum/maximum - Update capacity limitsprovider-update-duration-minimum/maximum - Update duration limitsprovider-update-access-policy - Update access policyagreement-open - Open energy agreementagreement-close - Close agreementagreement-capacity-increase/decrease - Adjust capacityagreement-duration-increase - Extend agreementprovider-guild-grant, provider-guild-revoke (replaced by guild rank permissions)substation-create - Create substationsubstation-delete - Delete substationsubstation-player-connect - Connect player to substationsubstation-player-disconnect - Disconnect player from substationsubstation-player-migrate - Migrate player between substationssubstation-allocation-connect - Connect allocation to substationsubstation-allocation-disconnect - Disconnect allocation from substationThe following actions are deprecated and should not be used. Use the replacement actions instead:
| Deprecated Action | Replacement | Reason |
|---|---|---|
reactor-allocate |
Use allocation system (MsgAllocationCreate) |
Message type does not exist. Energy allocation handled via allocation system. |
substation-connect |
MsgSubstationAllocationConnect |
Message type does not exist. Use allocation-based connection. |
agreement-create |
agreement-open (MsgAgreementOpen) |
Message type does not exist. Use MsgAgreementOpen instead. |
ore-mining |
struct-ore-miner-complete (MsgStructOreMinerComplete) |
Message type does not exist. Use struct-based mining completion. |
ore-refining |
struct-ore-refinery-complete (MsgStructOreRefineryComplete) |
Message type does not exist. Use struct-based refining completion. |
generator-allocate |
struct-generator-infuse (MsgStructGeneratorInfuse) |
Message type does not exist. Use struct-based generator infusion. |
guild-membership-leave |
guild-membership-kick (MsgGuildMembershipKick) |
Message type does not exist. Use kick action for removing members. |
See: reference/action-index.md for complete list with replacement details and code references.
Player Online:
GET /structs/player/{id} → player.halted === falseSufficient Resources:
Sufficient Charge:
GET /structs/struct/{id} → struct.charge >= requiredActivateCharge is 1 for all struct types (genesis default)Sufficient Power:
Command Ship Online:
Fleet Status:
Valid Location:
Valid Target:
Use Case: Simple action, no dependencies
Flow:
Example: struct-activate, struct-deactivate
Use Case: Action requires two steps
Flow:
Examples:
struct-build-initiate → struct-build-completeUse Case: Action requires proof-of-work computation
Flow:
Examples:
struct-build-completeplanet-raid-completestruct-ore-miner-completestruct-ore-refinery-completeSee: protocols/action-protocol.md#proof-of-work for proof-of-work details
Use Case: Action depends on game state
Flow:
Example: Attack only if target is valid and attackable
{
"flow": [
{
"step": 1,
"action": "Get account info",
"endpoint": "GET /cosmos/auth/v1beta1/accounts/{address}"
},
{
"step": 2,
"action": "Build transaction",
"message": "Action message (e.g., MsgStructBuild)"
},
{
"step": 3,
"action": "Sign transaction",
"method": "Sign with private key"
},
{
"step": 4,
"action": "Submit transaction",
"endpoint": "POST /cosmos/tx/v1beta1/txs"
},
{
"step": 5,
"action": "Wait for confirmation",
"check": "Transaction status"
},
{
"step": 6,
"action": "Verify action occurred",
"method": "Query game state"
}
]
}
See: protocols/action-protocol.md for complete details
⚠️ IMPORTANT: Transaction status broadcast does NOT mean action succeeded!
Validation happens on-chain after broadcast:
Example:
{
"scenario": "Build struct without sufficient resources",
"result": {
"transaction": "broadcast",
"action": "failed",
"reason": "Insufficient resources (validated on-chain)"
},
"verification": "Query struct - struct not created"
}
Player Halted (code: 6):
Insufficient Funds (code: 2):
Insufficient Charge (code: 7):
Invalid Location (code: 8):
Invalid Target (code: 9):
See: api/error-codes.md for complete error catalog
Construction:
struct-build-initiatestruct-build-completeCombat:
struct-attackplanet-raid-completeResource:
struct-ore-miner-completestruct-ore-refinery-completereactor-infuse (validation delegation)reactor-defuse (validation undelegation)substation-createEconomic:
provider-createagreement-openagreement-create (use agreement-open instead)ore-mining (use struct-ore-miner-complete instead)ore-refining (use struct-ore-refinery-complete instead)Exploration:
planet-exploreFleet:
fleet-moveGuild:
guild-createguild-update-entry-rankguild-membership-joinguild-bank-mintplayer-update-guild-rankplayer-sendPermissions:
permission-grant-on-objectpermission-revoke-on-objectpermission-set-on-objectpermission-guild-rank-setpermission-guild-rank-revokeRequires Proof-of-Work:
struct-build-completeplanet-raid-completestruct-ore-miner-completestruct-ore-refinery-completeRequires Charge:
struct-activatestruct-attackstruct-ore-miner-completestruct-ore-refinery-completeRequires Command Ship:
fleet-moveplanet-raid-completeTwo-Step Process:
struct-build-initiate → struct-build-completeAction Definitions:
schemas/actions.md - Complete action schemasreference/action-index.md - Action index with metadataProtocols:
protocols/action-protocol.md - Complete action protocolprotocols/gameplay-protocol.md - Gameplay interaction patternsprotocols/error-handling.md - Error handlingPatterns:
patterns/workflow-patterns.md - Multi-step workflow patternspatterns/retry-strategies.md - Retry patterns for failed actionsExamples:
examples/workflows/ - Workflow examplesexamples/errors/ - Error examplesLast Updated: January 1, 2026