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... ```
Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.
Connect GenLayer Intelligent Contract decisions to ERC-7710-style delegated authority. Use when an agent needs to design the interface, message schema, relayer/bridge path, EVM revocation controller, constraint updates, proof/finality assumptions, and failure handling that turn a GenLayer agent-performance review into ERC-7710 revocation or policy changes.
Internet Court adapter for GenLayer Intelligent Contract supervision. Use to specify agent-performance rubrics, evidence schemas, decision outputs, and ERC-7710 connector expectations, while delegating actual GenLayer contract writing, linting, testing, deployment, and CLI interaction to the official GenLayer skills at https://skills.genlayer.com/.
Design and implement demos combining x402 HTTP payments with ERC-7710 smart contract delegations and ERC-7715 wallet permission requests for subscriptions, bounded agent budgets, recurring spend, pay-per-use APIs, and agentic commerce.
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.
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.