Skip to content

CLI Reference

All commands are invoked via npx tsx packages/cli/src/bin.ts <command> or as capsule <command> if linked.

Generate and fund an issuer + operator wallet pair.

Terminal window
capsule init-wallets --network testnet --fund --authorize -o wallets.json
FlagDefaultDescription
--networktestnetNetwork: testnet, devnet, mainnet
--fundfalseFund from faucet (testnet/devnet only)
--authorizefalseSet operator as authorized minter
-o, --outputwallets.jsonOutput file path

Set the operator as an authorized minter on the issuer account.

Terminal window
capsule configure-minter -w wallets.json --network testnet
capsule configure-minter --via xaman --operator rAddr --network testnet
FlagDefaultDescription
-w, --walletswallets.jsonWallet credentials file
--networktestnetNetwork
--via(direct)xaman for wallet-mediated signing
--operatorOperator address (required with --via xaman)
--allow-mainnet-writefalseRequired for mainnet

Create a release manifest from an input file.

Terminal window
capsule create-release -i manifest-input.json -o release.json
FlagDefaultDescription
-i, --input(required)Input manifest file
-o, --outputrelease.jsonOutput manifest

Validate a manifest against the AJV schema.

Terminal window
capsule validate release.json

Check that manifest pointers (CIDs, URIs) are structurally valid.

Terminal window
capsule resolve release.json

Mint NFT editions from a manifest and emit an issuance receipt.

Terminal window
capsule mint-release -m release.json -w wallets.json --network testnet -o issuance-receipt.json
FlagDefaultDescription
-m, --manifest(required)Release manifest
-w, --walletswallets.jsonWallet credentials
--networktestnetNetwork
--via(direct)xaman for wallet-mediated signing
-o, --outissuance-receipt.jsonOutput receipt
--allow-mainnet-writefalseRequired for mainnet

Reconcile manifest + receipt against live chain state.

Terminal window
capsule verify-release -m release.json -r issuance-receipt.json

Generate an access policy from a manifest and receipt.

Terminal window
capsule create-access-policy -m release.json -r issuance-receipt.json -o access-policy.json --ttl 3600
FlagDefaultDescription
-m, --manifest(required)Release manifest
-r, --receipt(required)Issuance receipt
-o, --outputaccess-policy.jsonOutput policy
--ttl3600Download token TTL in seconds

Evaluate an access request and emit a grant receipt.

Terminal window
capsule grant-access -m release.json -r receipt.json -p access-policy.json -w rWalletAddress -o access-grant.json
FlagDefaultDescription
-m, --manifest(required)Release manifest
-r, --receipt(required)Issuance receipt
-p, --policy(required)Access policy
-w, --wallet(required)Wallet address to check
-o, --outaccess-grant.jsonOutput grant receipt

Reconstruct a release from artifacts and chain state.

Terminal window
capsule recover-release -m release.json -r issuance-receipt.json -p access-policy.json -o recovery-bundle.json

Create a governance policy for a release treasury.

Terminal window
capsule create-governance-policy -m release.json \
--treasury rTreasuryAddr \
--signers '[{"address":"rA","role":"artist"},{"address":"rB","role":"producer"}]' \
--threshold 2 --assets XRP -o governance-policy.json
FlagDefaultDescription
-m, --manifest(required)Release manifest
--treasury(required)Treasury XRPL address
--signers(required)JSON array of {address, role, label?}
--threshold2Number of approvals required
--assetsXRPComma-separated allowed assets
--allow-partialfalseAllow partial payouts
--max-outputsMax outputs per proposal
--created-bycapsule-cliCreator identity
-o, --outgovernance-policy.jsonOutput file

Create a payout proposal against a governance policy.

Terminal window
capsule propose-payout -p governance-policy.json \
--id payout-001 \
--outputs '[{"address":"rA","amount":"60.0","asset":"XRP","role":"artist","reason":"Creator share"}]'

Collect approvals and emit a decision receipt.

Terminal window
capsule decide-payout -p governance-policy.json \
--proposal payout-proposal.json \
--approvals '[{"signerAddress":"rA","approved":true,"decidedAt":"2026-04-01T00:00:00Z"}]'

Record payout execution and verify the full hash chain.

Terminal window
capsule execute-payout -p governance-policy.json \
--proposal payout-proposal.json --decision payout-decision.json \
--tx-hashes '["AABB..."]' \
--executed-outputs '[{"address":"rA","amount":"60.0","asset":"XRP","role":"artist","reason":"Creator share"}]'

Verify all 4 governance artifacts and their relationships.

Terminal window
capsule verify-payout -p governance-policy.json \
--proposal payout-proposal.json --decision payout-decision.json \
--execution payout-execution.json

Reports 12 checks: 4 schema validations, 4 hash integrity checks, 3 cross-contract validations, and 1 outcome check.