with one click
cast
// Charms CAST DEX workflows for order creation, cancellation/replacement, partial fulfillment, signing, and Bitcoin transaction verification.
// Charms CAST DEX workflows for order creation, cancellation/replacement, partial fulfillment, signing, and Bitcoin transaction verification.
Typed OpenAgents DS-first Data Market tool contract for seller publication and market read-back.
Shell-first OpenAgents DS-first Data Market packaging and publication workflow using the deterministic packaging helper, autopilotctl, and the no-window headless runtime.
Conversational seller-authoring policy for DS-first Data Market listings in OpenAgents.
Bitcoin Lightning wallet for agents — balances, invoices, payments, BTC/USD swaps, QR codes, price conversion, and transaction history via the Blink API. All output is JSON.
Mezo integration workflows for apps, autonomous agents, and Mezo Earn operations.
Deterministic CAD build orchestration for Autopilot Chat using openagents CAD and pane tools, including week-1 gripper flow.
| name | cast |
| description | Charms CAST DEX workflows for order creation, cancellation/replacement, partial fulfillment, signing, and Bitcoin transaction verification. |
| metadata | {"oa":{"project":"cast","identifier":"cast","version":"0.1.0","expires_at_unix":1798761600,"capabilities":["http:outbound","filesystem:read","process:spawn"]}} |
Use this skill when a task requires executable CAST DEX operations on Bitcoin with Charms, including order lifecycle management, Scrolls nonce/address derivation, cancellation signatures, partial fills, signing, and transaction verification.
Required commands:
bash, curl, jq, envsubstcharms, bitcoin-cliscrolls-nonce, sign-txs, cancel-msgRequired artifacts/services:
charms-cast-v0.2.0.wasm or latest v11-compatible CAST build)fulfill params payloadprev_txs ancestry data for all spell inputsCAST_FUNDING_UTXO)version: 11, tx.*, app_public_inputs)--private-inputsscripts/check-cast-prereqs.sh makerscripts/check-cast-prereqs.sh takerscripts/check-cast-prereqs.sh cancelscripts/check-cast-prereqs.sh serverFollow order-lifecycle for create/check/prove flow.
For maker edits, follow cancel-and-replace.
For taker fills, follow partial-fulfillment.
For signing and broadcast controls, follow signing-and-broadcast.
For repeated autonomous execution, follow autotrade-loop.
Keep operations deterministic:
tx.coins[*].dest as hex destination bytes (derive via charms util dest --addr ...)# Preflight
skills/cast/scripts/check-cast-prereqs.sh maker
# Derive Scrolls nonce + address
skills/cast/scripts/derive-scrolls-address.sh \
--funding-utxo "<txid:vout>" \
--output-index 0 \
--scrolls-base-url "${CAST_SCROLLS_BASE_URL}"
# Migrate legacy CAST howto spell to v11 (split private inputs + convert coin dests)
skills/cast/scripts/cast-migrate-howto-v11.sh \
--input /Users/christopherdavid/code/charms/cast-releases/docs/howto/03-partial-fulfill.yaml \
--output-spell ./rendered/03-partial-fulfill.v11.yaml \
--output-private-inputs ./rendered/03-partial-fulfill.private.v11.yaml
# Check + prove
skills/cast/scripts/cast-spell-check.sh \
--spell ./rendered/create-order.yaml \
--private-inputs-file ./rendered/create-order.private-inputs.yaml \
--app-bin "${CAST_APP_BIN}" \
--prev-txs-file "${CAST_PREV_TXS_FILE}"
skills/cast/scripts/cast-spell-prove.sh \
--spell ./rendered/create-order.yaml \
--private-inputs-file ./rendered/create-order.private-inputs.yaml \
--app-bin "${CAST_APP_BIN}" \
--prev-txs-file "${CAST_PREV_TXS_FILE}" \
--change-address "bc1q..." \
--mock
skills/cast/scripts/cast-spell-prove.sh \
--spell ./rendered/create-order.yaml \
--private-inputs-file ./rendered/create-order.private-inputs.yaml \
--app-bin "${CAST_APP_BIN}" \
--prev-txs-file "${CAST_PREV_TXS_FILE}" \
--change-address "bc1q..."
# Sign + inspect
skills/cast/scripts/cast-sign-and-broadcast.sh --tx-json ./proofs/tx_to_sign.json --dry-run
skills/cast/scripts/cast-show-spell.sh --tx "<spell_tx_hex>"
# Run one automated iteration (safe defaults: mock prove + dry-run sign)
skills/cast/scripts/cast-autotrade-loop.sh \
--config skills/cast/assets/autotrade-loop.config.example \
--once
# Run continuous loop (explicitly controlled)
skills/cast/scripts/cast-autotrade-loop.sh \
--config /absolute/path/to/autotrade.env \
--interval-seconds 45 \
--max-iterations 0 \
--continue-on-error