Agent skill · software engineering · aiskillstore
alkahest-user
Interact with Alkahest escrow contracts as a buyer, seller, or oracle using the CLI
Why this skill is useful
Provides specific commands and workflows for interacting with Alkahest escrow contracts that the AI wouldn't reliably generate on its own.
What it needs
Requires alkahest-cli installed locally. About 5k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
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: 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 ALKAHESTPRIVATEKEY=0x... Mnemonic env ALKAHESTMNEMONIC="word1 word2 ..." Compat env PRIVATEKEY=0x... Global Flags Output Format JSON by default (ideal for programmatic/agent use). All BigInts are serialized as strings. Use --human for labeled, indented output. Buyer Workflow: Create Escrow 1. Encode the demand First, encode the demand data that specifies your release condition: 2. Create the escrow Use the --arbiter address and the encoded --demand hex from step 1: Returns { "success": true, "data": { "hash": "0x...", "uid": "0x...", ... } }. Save the uid — this is the escrow UID. 3. Wait for fulfillment 4. Reclaim expired escrow (if unfulfilled) 5. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/alkahest-user