Skills structs-economy
Manages economic operations in Structs. Covers reactor staking, energy providers, agreements, allocations, generator infusion, and token transfers. Use when staking Alpha Matter in reactors, creating or managing energy providers, negotiating agreements, allocating energy, infusing generators, transferring tokens, or managing economic infrastructure.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/abstrct/structs-economy" ~/.claude/skills/clawdbot-skills-structs-economy && rm -rf "$T"
manifest:
skills/abstrct/structs-economy/SKILL.mdsource content
Structs Economy
Procedure
- Assess position — Query player, reactor, provider, agreement state via
.structsd query structs player/reactor/provider/agreement [id] - Reactor staking — Stake Alpha Matter:
. Thestructsd tx structs reactor-infuse [player-address] [reactor-address] [amount] TX_FLAGS
must include the denomination, e.g.amount
(not just60000000ualpha
). This automatically increases the player's capacity — no allocation setup needed. The reactor's commission rate determines the split: player receives60000000
, reactor keeps the rest. Unstake:power * (1 - commission)
(cooldown applies). Cancel cooldown:reactor-defuse [reactor-id]
. Migrate:reactor-cancel-defusion [reactor-id]
.reactor-begin-migration [player-address] [source-validator-address] [dest-validator-address] [amount] - Generator infusion —
. IRREVERSIBLE — Alpha cannot be recovered. Higher conversion rates than reactors (2-10x) but generator is vulnerable to raids.structsd tx structs struct-generator-infuse [struct-id] [amount] TX_FLAGS - Provider lifecycle — Create:
. Validprovider-create [substation-id] [rate] [access-policy] [provider-penalty] [consumer-penalty] [cap-min] [cap-max] [dur-min] [dur-max] TX_FLAGS
values:access-policy
(anyone can buy),open-market
(guild members with sufficient rank can buy -- managed via guild rank permissions on the provider),guild-market
(only players with explicit PermProviderOpen on the provider). Update capacity/duration/access viaclosed-market
,provider-update-capacity-maximum
, etc. Delete:provider-update-duration-minimum
. Withdraw earnings:provider-delete [provider-id]
. To grant guild members access to aprovider-withdraw-balance [provider-id]
provider:guild-market
(PermProviderOpen).permission-guild-rank-set [provider-id] [guild-id] 262144 [rank] - Agreements — Open:
. Close:agreement-open [provider-id] [duration] [capacity] TX_FLAGS
. Adjust:agreement-close [agreement-id]
,agreement-capacity-increase/decrease
.agreement-duration-increase - Allocations — Create:
. Theallocation-create [source-id] [power] --allocation-type static|dynamic|automated TX_FLAGS
flag accepts a PlayerId (e.g.,--controller
). If omitted, the creating player is the default controller. Update:1-42
. Delete:allocation-update [allocation-id] [new-power]
— only the controlling player can delete an allocation. Transfer:allocation-delete [allocation-id]
.allocation-transfer [allocation-id] [new-controller]
Allocation Type Comparison
| Type | Updatable | Deletable | Auto-grows | Limit | Use Case |
|---|---|---|---|---|---|
| No | No (while connected) | No | Unlimited | Fixed capacity routing |
| Yes | Yes | No | Unlimited | Flexible, managed routing |
| Yes | No | Yes (scales with source capacity) | One per source | Energy commerce (recommended) |
| System-managed | System-managed | System-managed | System-created | Auto-created when agreements open; never create manually |
Automated allocation limit: Only one automated allocation per source is allowed. Attempting to create a second from the same source will error. Use
dynamic type if you need multiple allocations from one source.
Recommended for energy sales: Use
automated allocations. When you infuse more alpha into a reactor, your capacity grows, and automated allocations proportionally increase energy flowing to your substations with no manual intervention.
7. Token transfer — player-send [from-address] [to-address] [amount] TX_FLAGS.
Commands Reference
| Action | Command |
|---|---|
| Reactor infuse | (validator = , NOT reactor ID) |
| Reactor defuse | |
| Reactor migrate | |
| Reactor cancel defusion | |
| Generator infuse | |
| Provider create | |
| Provider delete | |
| Provider withdraw | |
| Agreement open | |
| Agreement close | |
| Allocation create | |
| Allocation update | |
| Allocation delete | |
| Player send | |
TX_FLAGS:
--from [key-name] --gas auto --gas-adjustment 1.5 -y
Important: Entity IDs containing dashes (like
3-1, 4-5) are misinterpreted as flags by the CLI parser. Always place -- between flags and positional args: structsd tx structs command TX_FLAGS -- [entity-id] [other-args]
Verification
- Reactor:
— checkstructsd query structs reactor [id]
,infusedAmount
.defusionCooldown - Provider:
— verify capacity, rate, active agreements.structsd query structs provider [id] - Agreement:
— check status, capacity, duration.structsd query structs agreement [id] - Allocation:
— confirm power, source, destination.structsd query structs allocation [id] - Player balance:
— verify Alpha Matter after transfers.structsd query structs player [id]
Error Handling
- Insufficient balance: Check player Alpha Matter before infuse/send. Refine ore first.
- Provider capacity exceeded: Query provider
; reduce agreement capacity or create new provider.capacityMaximum - Defusion cooldown: Use
to re-stake during cooldown, or wait.reactor-cancel-defusion - Generator infuse failed: Cannot undo. Verify struct is a generator type and amount is correct before submitting.
See Also
- structs-energy skill — "I need more energy" decision tree and workflows
- knowledge/economy/energy-market — Provider/agreement flow, pricing
- knowledge/economy/guild-banking — Central Bank tokens
- knowledge/mechanics/resources — Alpha Matter, conversion rates
- knowledge/mechanics/power — Capacity, load, online status