Skills openmath-claim-reward
Claims earned rewards from the OpenMath platform. Use when the user wants to query claimable imported/proof rewards or withdraw verified Shentu rewards after a proof has passed verification.
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/bennyzhe/openmath-claim-reward" ~/.claude/skills/clawdbot-skills-openmath-claim-reward && rm -rf "$T"
manifest:
skills/bennyzhe/openmath-claim-reward/SKILL.mdsource content
OpenMath Claim Reward
Instructions
Query and withdraw rewards for verified OpenMath activity on Shentu. Flow: query
bounty rewards → withdraw via bounty withdraw-rewards → wait 5–10 s → re-query. Uses SHENTU_CHAIN_ID and SHENTU_NODE_URL for runtime chain/RPC settings, with built-in mainnet defaults if unset. Shared config resolution order: --config <path> → OPENMATH_ENV_CONFIG → ./.openmath-skills/openmath-env.json → ~/.openmath-skills/openmath-env.json. If OPENMATH_ENV_CONFIG is set, treat it as the selected config path. If that file is missing or invalid, stop and fix it instead of silently falling back.
Requires trusted local
python3 and shentud binaries on PATH. Read-only reward queries shell out to local shentud and query a Shentu RPC endpoint. Withdrawals additionally rely on the local OS keyring via shentud --keyring-backend os. Before any withdrawal, confirm the key name, resolved address, and node URL with the user.
First-run gate
If the user already provided an address explicitly, reward query can run immediately.
If no address was provided, auto-discover
prover_address from OPENMATH_ENV_CONFIG when it is set; otherwise check only ./.openmath-skills/openmath-env.json or ~/.openmath-skills/openmath-env.json. If no usable config exists, or if the config exists but prover_address is missing, do not guess the address. Follow references/init-setup.md.
For withdrawals, do not proceed until a local
os keyring key is known for the same address.
Do not broadcast a withdrawal until the user confirms the matching key name/address and the RPC node they want to use.
Workflow checklist
- Env: If needed, export
/SHENTU_CHAIN_ID
, or setSHENTU_NODE_URL
to a specificOPENMATH_ENV_CONFIG
; otherwise use the built-in mainnet defaults and standard config auto-discovery.openmath-env.json - Address: Use an explicit address, or let
auto-discoverquery_reward_status.py rewards
fromprover_address
or the standardOPENMATH_ENV_CONFIG
locations.openmath-env.json - Query: Run
(orquery_reward_status.py rewards [address]
) to seeshentud q bounty rewards <address> --node <shentu_node_url>
and/orimported_rewards
.proof_rewards - Withdraw: If any bucket is non-empty, first make sure a local
keyring key controls the same address, confirmos
matches the reward address, then runshentud keys show <your-key> -a --keyring-backend os
(useshentud tx bounty withdraw-rewards --from <your-key> --keyring-backend os --chain-id <shentu_chain_id> --node <shentu_node_url> --gas-prices 0.025uctk --gas-adjustment 2.0 --gas auto
/SHENTU_CHAIN_ID
or the built-in defaults).SHENTU_NODE_URL - Wait: 5–10 s for block inclusion.
- Re-query: Run
, thenquery_reward_status.py tx <txhash> --wait-seconds 6
to confirm withdrawal; empty buckets are reported as zero, not error.query_reward_status.py rewards <address> --wait-seconds 6
Scripts
| Script | Command | Use when |
|---|---|---|
| Query rewards | | Checking claimable imported_rewards and proof_rewards for an address, or auto-discovering from , , or the default config locations when omitted. |
| Query tx | | After withdraw broadcast to confirm inclusion. |
Withdraw is done with raw
shentud tx bounty withdraw-rewards --keyring-backend os (see workflow above).
Notes
- Buckets:
(theorem imported/referenced),imported_rewards
(proofs verified). One withdraw pulls both if present.proof_rewards - Mainnet: Default
.--chain-id shentu-2.2 --node https://rpc.shentu.org:443 - Config override: Set
or useOPENMATH_ENV_CONFIG=/path/to/openmath-env.json
if you want a non-default config path.--config - Requirements: Requires trusted local
andpython3
onshentud
.PATH - Env vars:
,OPENMATH_ENV_CONFIG
, andSHENTU_CHAIN_ID
are optional overrides, not required for the default mainnet flow.SHENTU_NODE_URL - Keyring: Always use
for reward withdrawal commands generated from this skill.--keyring-backend os - Trust boundary: Reward queries shell out to local
; withdrawals also sign through the local OS keyring. Verify the key name, resolved address, and RPC/node URL before broadcasting.shentud
References
Load when needed (one level from this file):
- references/init-setup.md — Reward address discovery and withdraw-key setup.
- references/reward_claim_flow.md — Address-based buckets, withdraw behavior, and on-chain claim flow.
Identity setup for theorem submission still lives in openmath-submit-theorem, but reward querying itself does not require
openmath-env.json.