# Alkahest User

Interact with Alkahest escrow contracts as a buyer, seller, or oracle using the CLI

- 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 alkahest-user -g -a claude-code -y`
Codex: `npx skills add internet-court/internet-court-skill --skill alkahest-user -g -a codex -y`
Cursor: `npx skills add internet-court/internet-court-skill --skill alkahest-user -g -a cursor -y`
Gemini CLI: `npx skills add internet-court/internet-court-skill --skill alkahest-user -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add internet-court/internet-court-skill`

## Description

Interact with Alkahest escrow contracts as a buyer, seller, or oracle using the CLI

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

# Alkahest User Skill

## What is Alkahest?

Alkahest is an EAS-based (Ethereum Attestation Service) escrow protocol for trustless exchanges on EVM chains. It enables:

- **Token escrow** with programmable release conditions (ERC20, ERC721, ERC1155, native tokens, bundles)
- **Arbiter-based validation**, release conditions are defined by arbiter contracts that check fulfillment
- **Composable demands**, combine multiple conditions with AND/OR logic
- **Oracle arbitration**, off-chain validation with on-chain decision submission
- **Commit-reveal**, frontrunning protection for self-contained fulfillment data

Supported chains: Base Sepolia, Sepolia, Ethereum mainnet.

## Roles

| Role | Description |
|------|-------------|
| **Buyer** | Creates escrow with assets + demand (what they want in return) |
| **Seller** | Fulfills the demand to collect escrowed assets |
| **Oracle** | Validates fulfillment and submits on-chain decisions (for TrustedOracleArbiter) |

## CLI Setup

Install globally via `npm install -g alkahest-cli`, then run commands with:

```bash
alkahest [global-flags] <command> <subcommand> [options]
```

### Authentication

Provide a wallet via one of (in priority order):

| Method | Flag / Env Var |
|--------|---------------|
| Private key flag | `--private-key 0x...` |
| Mnemonic flag | `--mnemonic "word1 word2 ..."` |
| Ledger USB | `--ledger [--ledger-path <path>]` |
| Private key env | `ALKAHEST_PRIVATE_KEY=0x...` |
| Mnemonic env | `ALKAHEST_MNEMONIC="word1 word2 ..."` |
| Compat env | `PRIVATE_KEY=0x...` |

### Global Flags

```
--chain <name>          base-sepolia (default) | sepolia | ethereum
--rpc-url <url>         Custom RPC URL (overrides chain default)
--human                 Human-readable output (default: JSON)
```

### Output Format

JSON by default (ideal for programmatic/agent use). All BigInts are serialized as strings.

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