skills/skills.volces.com/structs-economy

structs-economy

Installation
SKILL.md

Structs Economy

Procedure

  1. Assess position — Query player, reactor, provider, agreement state via structsd query structs player/reactor/provider/agreement [id].
  2. Reactor staking — Stake Alpha Matter: structsd tx structs reactor-infuse [player-address] [reactor-address] [amount] TX_FLAGS. The amount must include the denomination, e.g. 60000000ualpha (not just 60000000). This automatically increases the player's capacity — no allocation setup needed. The reactor's commission rate determines the split: player receives power * (1 - commission), reactor keeps the rest. Unstake: reactor-defuse [reactor-id] (cooldown applies). Cancel cooldown: reactor-cancel-defusion [reactor-id]. Migrate: reactor-begin-migration [player-address] [source-validator-address] [dest-validator-address] [amount].
  3. Generator infusion — structsd tx structs struct-generator-infuse [struct-id] [amount] TX_FLAGS. IRREVERSIBLE — Alpha cannot be recovered. Higher conversion rates than reactors (2-10x) but generator is vulnerable to raids.
  4. Provider lifecycle — Create: provider-create [substation-id] [rate] [access-policy] [provider-penalty] [consumer-penalty] [cap-min] [cap-max] [dur-min] [dur-max] TX_FLAGS. Valid access-policy values: open-market (anyone can buy), guild-market (guild members with sufficient rank can buy -- managed via guild rank permissions on the provider), closed-market (only players with explicit PermProviderOpen on the provider). Update capacity/duration/access via provider-update-capacity-maximum, provider-update-duration-minimum, etc. Delete: provider-delete [provider-id]. Withdraw earnings: provider-withdraw-balance [provider-id]. To grant guild members access to a guild-market provider: permission-guild-rank-set [provider-id] [guild-id] 262144 [rank] (PermProviderOpen).
  5. Agreements — Open: agreement-open [provider-id] [duration] [capacity] TX_FLAGS. Close: agreement-close [agreement-id]. Adjust: agreement-capacity-increase/decrease, agreement-duration-increase.
  6. Allocations — Create: allocation-create [source-id] [power] --allocation-type static|dynamic|automated TX_FLAGS. The --controller flag accepts a PlayerId (e.g., 1-42). If omitted, the creating player is the default controller. Update: allocation-update [allocation-id] [new-power]. Delete: allocation-delete [allocation-id] — only the controlling player can delete an allocation. Transfer: allocation-transfer [allocation-id] [new-controller].

Allocation Type Comparison

Type Updatable Deletable Auto-grows Limit Use Case
static No No (while connected) No Unlimited Fixed capacity routing
dynamic Yes Yes No Unlimited Flexible, managed routing
automated Yes No Yes (scales with source capacity) One per source Energy commerce (recommended)
provider-agreement System-managed System-managed System-managed System-created Auto-created when agreements open; never create manually
Installs
2
First Seen
Apr 20, 2026