Skills

Nla Fulfill

Fulfill an existing NLA escrow and collect tokens.

Install

npx skills add internet-court/internet-court-skill --skill nla-fulfill -g -a claude-code -y
Category
Engineering
Updated
9d ago
License
See repository
Context cost
Lightabout 734 tokens
Runs scripts
No, instructions only

What it does

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.

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

Read the whole SKILL.md on GitHub

More in Engineering