Skip to content
cccskills
FreePublished on GitHub

nla-fulfill

Submit text to satisfy an existing NLA escrow, an arrangement that holds tokens until requirements are met. Helps check the demand, prepare a response, monitor AI arbitration, and collect tokens after approval.

OriginalShow the original description

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.

Run score Not tested

See how to install

Good for

  • Checking an escrow's requirements
  • Preparing and submitting fulfillment text
  • Checking AI arbitration results
  • Collecting tokens after approval

Files included (2)

  • SKILL.md3.3 KB
  • LICENSE361 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

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:

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

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:

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:

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

# 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...

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

0g-compute

FreeSummary

Build chat, image generation, and speech transcription features on 0G Compute Network, a distributed GPU marketplace. This skill guides SDK integration, model fine-tuning, response processing for billing, and account funding through code patterns and CLI commands.

  • Integrating chat and image generation into an application
  • Preparing model fine-tuning jobs
  • Checking balances and funding provider accounts
internet-court/internet-court-skill7KUpdated Aug 20, 2026

a2a-protocol

FreeSummary

Build servers and clients for A2A, an open protocol that lets AI agents communicate across frameworks. Publish agent capabilities, exchange tasks and results, stream progress, and add notifications for workflows involving multiple agents.

  • Connect agents built with different frameworks
  • Publish agent capabilities through an Agent Card
  • Build a research, writing, and review workflow
internet-court/internet-court-skill7KUpdated Aug 20, 2026

agent-wallet

FreeSummary

Give an AI agent a wallet with administrator-defined transaction limits. The skill covers encrypted key storage, balance checks, and sending funds through code-enforced rules for destinations, amounts, transaction frequency, and emergency shutdown.

  • Give an agent a wallet with transaction limits
  • Restrict transfers to approved chains and addresses
  • Check balances and active rules before sending
internet-court/internet-court-skill7KUpdated Aug 20, 2026

agentic-wallet

FreeSummary

Manage a crypto wallet with the awal CLI, including sign-in, balance checks, transfers, swaps, and funding. Also find and pay for APIs through x402, a payment protocol, set up paid endpoints, and query blockchain data on Base.

  • Check wallet balances across supported networks
  • Send tokens to an address or ENS name
  • Swap tokens or add wallet funds
internet-court/internet-court-skill7KUpdated Aug 20, 2026

Write TypeScript, Rust, or Python code for Alkahest escrow contracts, which hold assets until conditions are met. Covers creating escrows, submitting fulfillment, collecting payments, and building custom contracts that decide whether requirements have been satisfied.

  • Integrate Alkahest escrow into an application
  • Build a bot that creates escrows and submits fulfillment
  • Implement payment collection and fulfillment monitoring
internet-court/internet-court-skill7KUpdated Aug 20, 2026

alkahest-user

FreeSummary

Use the Alkahest CLI to manage escrow, where assets are held until agreed conditions are met. It covers buyer deposits, seller fulfillment and collection, third-party decisions, token swaps, and reclaiming expired, unfulfilled deposits.

  • Creating escrow with release conditions
  • Submitting work and collecting escrowed assets
  • Approving or rejecting fulfillment as an oracle
internet-court/internet-court-skill7KUpdated Aug 20, 2026

See all skills by internet-court

Report a problem with this skill