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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "structs-economy" with this command: npx skills add abstrct/structs-economy

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 infusionstructsd 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

TypeUpdatableDeletableAuto-growsLimitUse Case
staticNoNo (while connected)NoUnlimitedFixed capacity routing
dynamicYesYesNoUnlimitedFlexible, managed routing
automatedYesNoYes (scales with source capacity)One per sourceEnergy commerce (recommended)
provider-agreementSystem-managedSystem-managedSystem-managedSystem-createdAuto-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 transferplayer-send [from-address] [to-address] [amount] TX_FLAGS.

Commands Reference

ActionCommand
Reactor infusestructsd tx structs reactor-infuse [player-addr] [validator-addr] [amount] (validator = structsvaloper1..., NOT reactor ID)
Reactor defusestructsd tx structs reactor-defuse [reactor-id]
Reactor migratestructsd tx structs reactor-begin-migration [player-addr] [src-validator-addr] [dest-validator-addr] [amount]
Reactor cancel defusionstructsd tx structs reactor-cancel-defusion [reactor-id]
Generator infusestructsd tx structs struct-generator-infuse [struct-id] [amount]
Provider createstructsd tx structs provider-create [substation-id] [rate] [access] [prov-penalty] [cons-penalty] [cap-min] [cap-max] [dur-min] [dur-max]
Provider deletestructsd tx structs provider-delete [provider-id]
Provider withdrawstructsd tx structs provider-withdraw-balance [provider-id]
Agreement openstructsd tx structs agreement-open [provider-id] [duration] [capacity]
Agreement closestructsd tx structs agreement-close [agreement-id]
Allocation createstructsd tx structs allocation-create [source-id] [power] --allocation-type [type]
Allocation updatestructsd tx structs allocation-update [allocation-id] [power]
Allocation deletestructsd tx structs allocation-delete [allocation-id]
Player sendstructsd tx structs player-send [from] [to] [amount]

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: structsd query structs reactor [id] — check infusedAmount, defusionCooldown.
  • Provider: structsd query structs provider [id] — verify capacity, rate, active agreements.
  • Agreement: structsd query structs agreement [id] — check status, capacity, duration.
  • Allocation: structsd query structs allocation [id] — confirm power, source, destination.
  • Player balance: structsd query structs player [id] — verify Alpha Matter after transfers.

Error Handling

  • Insufficient balance: Check player Alpha Matter before infuse/send. Refine ore first.
  • Provider capacity exceeded: Query provider capacityMaximum; reduce agreement capacity or create new provider.
  • Defusion cooldown: Use reactor-cancel-defusion to re-stake during cooldown, or wait.
  • Generator infuse failed: Cannot undo. Verify struct is a generator type and amount is correct before submitting.

See Also

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Content Refresher

Use when updating outdated content, fixing traffic/ranking decay, refreshing stats, adding new sections, or improving freshness signals. 内容更新/排名恢复

Registry SourceRecently Updated
General

AssemblyAI Transcriber

Transcribe audio files with speaker diarization (who speaks when). Supports 100+ languages, automatic language detection, and timestamps. Use for meetings, interviews, podcasts, or voice messages. Requires AssemblyAI API key.

Registry SourceRecently Updated
General

mac-node-snapshot

A robust, permission-friendly method to capture macOS screens via OpenClaw screen.record. Ideal for headless environments or ensuring capture reliability.

Registry SourceRecently Updated
1.4K0taozhe6
General

Amazon Asin Lookup Api Skill

This skill helps users extract structured product details from Amazon using a specific ASIN (Amazon Standard Identification Number). Use this skill when the...

Registry SourceRecently Updated
1.3K1phheng