nla-fulfill
Fulfill an existing NLA escrow and collect tokens. Use when the user wants to submit fulfillment text for an on-chain escrow, check arbitration results, and collect approved funds. Covers the full fulfill-arbitrate-collect lifecycle.
git clone --depth 1 https://github.com/internet-court/internet-court-skill /tmp/nla-fulfill && cp -r /tmp/nla-fulfill/vendored/arkhai/nla-fulfill ~/.claude/skills/nla-fulfillSKILL.md
# Fulfill NLA Escrow Help the user fulfill an on-chain escrow by submitting text that satisfies the escrow's demand, then collect the tokens if approved. ## Step-by-step instructions ### 1. Understand the escrow Get the escrow UID from the user, then check what it demands: ```bash nla escrow:status --escrow-uid <uid> ``` This shows: - The demand text - Arbitration model and provider - Oracle address - Any existing fulfillments and their arbitration status ### 2. Craft the fulfillment Help the user write fulfillment text that satisfies the demand: - Read the demand carefully - The fulfillment text is what the AI arbitrator evaluates against the demand - Be specific and directly address what the demand asks for - The default arbitration prompt evaluates whether the "fulfillment" satisfies the "demand" and returns true/false ### 3. Submit the fulfillment ```bash nla escrow:fulfill \ --escrow-uid <escrow_uid> \ --fulfillment "<fulfillment text>" \ --oracle <oracle_address> ``` This runs a multi-step on-chain commit-reveal flow: 1. Computes a commitment hash 2. Submits the commitment with a bond 3. Waits for next block confirmation 4. Reveals the fulfillment obligation and returns the bond 5. Requests arbitration from the oracle The command outputs a **fulfillment UID** - record this for collection. ### 4. Monitor arbitration Check if the oracle has made a decision: ```bash nla escrow:status --escrow-uid <escrow_uid> ``` The oracle typically responds within seconds if it's running. Look for "APPROVED" or "REJECTED" in the output. ### 5. Collect tokens (if approved) Once the oracle approves: ```bash nla escrow:collect \ --escrow-uid <escrow_uid> \ --fulfillment-uid <fulfillment_uid> ``` This transfers the escrowed tokens to the fulfiller. ## Key details - The fulfillment text is permanently recorded on-chain - The commit-reveal process requires gas for multiple transactions - If rejected, the tokens stay in escrow - another fulfillment attempt can be made by anyone - The oracle address must match what was specified when the escrow was created (visible in status output) - Collection only succeeds after the oracle records an approval ## Prerequisites - `nla` CLI installed and configured - Private key set via `nla wallet:set`, `--private-key` flag, or `PRIVATE_KEY` env var - ETH in the fulfiller's account for gas - The oracle must be running (or use the public demo on Sepolia) ## Example full flow ```bash # 1. Check what the escrow demands nla escrow:status --escrow-uid 0xabc123... # 2. Submit fulfillment nla escrow:fulfill \ --escrow-uid 0xabc123... \ --fulfillment "The sky appears blue due to Rayleigh scattering" \ --oracle 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 # 3. Check arbitration result nla escrow:status --escrow-uid 0xabc123... # 4. Collect if approved nla escrow:collect \ --escrow-uid 0xabc123... \ --fulfillment-uid 0xdef456... ```
0G Compute Network guide for decentralized AI inference, fine-tuning, and GPU services. Covers chatbots, image generation, speech-to-text, SDK integration (0g-serving-broker), processResponse API, broker.inference methods, CLI commands (0g-compute-cli), and account management. Use this skill for any 0G compute, 0G AI, or decentralized GPU question.
Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.
Help developers write code that interacts with Alkahest escrow contracts using the TypeScript, Rust, or Python SDK
Interact with Alkahest escrow contracts as a buyer, seller, or oracle using the CLI
Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.
Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.
Use this skill when the user asks to inspect AltLLM Portal balance, redeem a promo code, review billing transactions, or view usage analytics by period, model, or API key using the local altllm CLI. Do NOT use for API key lifecycle management or payment-link execution.