# Nla Create

Create a Natural Language Agreement escrow on-chain.

- Repository: https://github.com/internet-court/internet-court-skill (7050 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add internet-court/internet-court-skill --skill nla-create -g -a claude-code -y`
Codex: `npx skills add internet-court/internet-court-skill --skill nla-create -g -a codex -y`
Cursor: `npx skills add internet-court/internet-court-skill --skill nla-create -g -a cursor -y`
Gemini CLI: `npx skills add internet-court/internet-court-skill --skill nla-create -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add internet-court/internet-court-skill`

## Description

Create a Natural Language Agreement escrow on-chain. Use when the user wants to lock ERC20 tokens in an escrow with a natural language demand that an AI oracle will arbitrate. Handles demand crafting, parameter gathering, and CLI execution.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Create NLA Escrow

Help the user create a blockchain escrow backed by a natural language demand using the `nla` CLI.

## Overview

An NLA escrow locks ERC20 tokens on-chain. Anyone can attempt to fulfill the escrow's natural language demand. An AI oracle evaluates fulfillments and releases the tokens if the demand is satisfied.

## Step-by-step instructions

### 1. Gather requirements

Collect the following from the user conversationally:

**Required:**
- **Demand**: The natural language condition that must be fulfilled. Help the user craft something clear and unambiguous.
- **Amount**: Number of tokens to escrow (in the token's smallest unit - no automatic decimal conversion).
- **Token address**: ERC20 token contract address (`0x...`).
- **Oracle address**: Address of the oracle that will arbitrate.

**Optional:**
- **Arbitration provider**: `OpenAI` (default), `Anthropic`, or `OpenRouter`.
- **Arbitration model**: e.g. `gpt-4o-mini` (default), `claude-3-5-sonnet-20241022`, `openai/gpt-4o`.
- **Arbitration prompt**: Custom prompt template with `{{demand}}` and `{{obligation}}` placeholders.

### 2. Check prerequisites

```bash
# Verify CLI is available
which nla

# Check current network
nla network

# Check wallet is configured
nla wallet:show
```

If no wallet is configured, the user must either:
- Run `nla wallet:set --private-key <key>`
- Pass `--private-key <key>` to the command
- Set the `PRIVATE_KEY` environment variable

### 3. Help craft the demand

Guide the user to write an effective demand:
- Be specific and evaluable by an LLM
- Consider: what counts as valid fulfillment? Is the condition verifiable?
- For claims requiring real-world knowledge, suggest models with search (Perplexity search is available if the oracle has it configured)
- The demand, provider, model, and prompt are all encoded on-chain and publicly visible - never include secrets

### 4. Execute escrow creation

The rest: https://github.com/internet-court/internet-court-skill/blob/HEAD/vendored/arkhai/nla-create/SKILL.md
