---
name: Internet Court
slug: internet-court
category: AI Engineering
description: Internet Court routes agent-to-agent commerce workflows across identity, negotiation, contracts, payment, escrow, execution, and adjudication. Use it when an agent needs to transact with another agent or paid service, delegate authority, escrow funds, check reputation, or resolve disputes.
github: "https://github.com/internet-court/internet-court-skill"
language: TypeScript
stars: 2968
forks: 68
install: "npx degit https://github.com/internet-court/internet-court-skill ~/.claude/skills/internet-court-skill"
installs_to: ~/.claude/skills/internet-court-skill
source_path: SKILL.md
collection_size: 25
category_size: 2451
collection_url: "https://dirskills.com/collections/internet-court/internet-court-skill"
added: 2026-08-17T07:09:47.525Z
last_synced: 2026-08-17T07:09:47.525Z
canonical_url: "https://dirskills.com/skills/internet-court"
---

# Internet Court

Internet Court routes agent-to-agent commerce workflows across identity, negotiation, contracts, payment, escrow, execution, and adjudication. Use it when an agent needs to transact with another agent or paid service, delegate authority, escrow funds, check reputation, or resolve disputes.

**Install:**

```bash
npx degit https://github.com/internet-court/internet-court-skill ~/.claude/skills/internet-court-skill
```

## README

# Internet Court

Internet Court is the entry skill for agent-to-agent commerce. Agents can
already discover each other, negotiate, and pay — what they lack is a way to
trust a counterparty they've never met. Internet Court does two things: it
connects a fragmented stack — identity, negotiation, contracts, payment,
escrow, execution — into one skill, and it builds in adjudication: when two
agents strike a deal, they agree up front how it settles if something goes
wrong.

The core sentence:

```text
Discovery and identity establish who. Negotiation and contracts set the terms.
Payment and escrow move or lock the funds. Execution does the work.
Adjudication decides what happened and writes the verdict back as reputation.
```

This package contains two kinds of material. Route accordingly:

- **Vendored protocol skills** (`vendored/`) — official, publicly published
  skills from the protocols themselves. Always prefer these for protocol
  mechanics; never re-derive what they already document.
- **Connector skills** (`integrations/genlayer-erc7710-connector/`,
  `integrations/genlayer-intelligent-contracts/`, `integrations/x402-erc7710/`) — the Internet
  Court-specific glue that makes the protocols work together.

## Where this package lives

This is the entry skill of the Internet Court package, published at
**`https://github.com/internet-court/internet-court-skill`**. Every path this
file routes to — `vendored/<owner>/<skill>/SKILL.md`,
`integrations/<connector>/SKILL.md` — is relative to that repository root.

Resolve those paths before relying on a skill's contents:

- **Installed as a whole** (normal case — `git clone …/internet-court-skill
  .claude/skills/internet-court`): read the path directly from disk.
- **Only this `SKILL.md` is present** (the master skill was loaded on its
  own): the sibling skills are not local. Fetch the file from the raw
  repository at
  `https://raw.githubusercontent.com/internet-court/internet-court-skill/main/<path>`
  — e.g. `…/main/vendored/genlayer/write-contract/SKILL.md` — or clone the repo
  first.

Never invent a referenced skill's contents — load the real file (from disk or
the raw URL) first.

## First Response Mode

When a user asks to load, install, or introduce Internet Court — or whenever
you first reference it in a conversation — start broad and use the canonical
blurb below **verbatim**. Do not paraphrase it, and do not lead with protocol
names, payment rails, or standards unless the user asks for implementation
details.

```text
Internet Court is installed.

Internet Court does two things: it connects a fragmented stack — identity,
negotiation, contracts, payment, escrow, and execution — into one skill, and
it builds in adjudication, so when two agents strike a deal they agree up
front how it settles if something goes wrong.

I can now help your agent find and vet a counterparty, agree terms, pay or
escrow funds, and do the work — and, if the deal is contested, get an
independent verdict that settles it and updates each side's reputation.
```

(When you are only referencing the skill mid-conversation rather than
reporting a fresh install, drop the first line and keep the rest verbatim.)

After the user asks for a concrete demo, integration, or deployment, use the
stack and routing below.

## Discovery-First Boundary

When the user asks to engage a service, counterparty, or deal, first inspect
and report only what is observable — never assume the rest. Depending on the
deal, that may include:

- who the counterparty is: origin, identity, reputation, the endpoint or
  resource in question;
- what it costs and how: whether it is paywalled, and any advertised rail,
  network, token, amount, payee, or transfer method;
- what it promises: deliverable, terms, and whatever evidence it exposes.

Do not invent cadence, schedules, spend caps, expiration, delegated
authority, review policy, or a full agreement at this stage. State the
boundary plainly — including that the agent holds no funds or authority the
user has not granted — then stop and let the user's reply start the trust
conversation. For example, for a paywalled endpoint:

```text
This endpoint is paywalled. I don't have funds or permission to access it —
you'd need to fund and authorize me before I can proceed.
```

Never commit funds, sign, or transact before the user has chosen a trust
level and the required wallet or permission exists.

## Trust Levels

Any deal that carries risk — the agent could misbehave, a counterparty could
fail to deliver, funds or authority could be misused — can run at one of three
levels of protection. Pick the lightest one that covers the risk, and name the
tradeoff honestly. Weakest to strongest:

- **Basic** — the parties simply trust each other. No bounded authority, no
  escrow, no independent judge; each side acts on whatever it was handed
  directly. Fastest and weakest: the practical limit is whatever was handed
  over, and there is no recourse if it goes wrong. Do not claim any limit is
  enforced at this level.
- **Guarded** — the deal is constrained up front so it can only go so wrong by
  construction. The instrument depends on the deal: bounded authority with
  explicit limits (an ERC-7710/7715 permission with caveats), funds locked in
  escrow until terms are met, or scoped terms both sides sign. Hard limits
  exist, but there is no neutral party to decide a contested outcome. Load
  `vendored/metamask/smart-accounts-kit/skill.md` for permission mechanics, or
  the layer-3/4 escrow skills for locked-funds deals.
- **Adjudicated** — Guarded, plus an independent review path with signed
  evidence that can decide a contested outcome and enforce the consequence:
  release or refund escrow, constrain or revoke the granted authority, and
  write the verdict back to reputation. Load
  `integrations/genlayer-intelligent-contracts/SKILL.md` for the review
  interface and `integrations/genlayer-erc7710-connector/SKILL.md` for
  enforcement.

Match the level to the deal, not the reverse. Do not invent exact caps,
cadence, terms, or expiry here; say they will be set from the discovered terms
during setup.

## The Agentic Commerce Stack

A complete deal moves top to bottom through six layers: find and vet a
counterparty (1), agree terms (2–3), move or lock funds (4), do the work (5),
and — if the outcome is contested — get an independent verdict that settles it
and feeds back into reputation (6). Most layers already have credible skills;
layer 6 is the keystone, since without a neutral verdict escrow cannot safely
release, contracts have no remedy, and reputation has nothing to record. Route
each layer to the skill or reference that owns it:

| # | Layer | Protocols | Load |
|---|---|---|---|
| 1 | Discovery, identity & reputation | ERC-8004, ERC-7857 | `vendored/chaingpt/trustless-agents/SKILL.md` (ERC-8004 registries), `vendored/openserv/openserv-multi-agent-workflows/SKILL.md` (mints ERC-8004 agent identities), `vendored/privy/privy/SKILL.md` (embedded/server wallet identity & auth), `vendored/humanode/humanode-agentlink/SKILL.md` (human-backed agent identity), `vendored/starknet/starknet-identity/SKILL.md` (ERC-8004 on Starknet), `vendored/near/near-api-js/SKILL.md` (named-account identity, e.g. `alice.near`), `vendored/metaplex/metaplex/SKILL.md` (Agent Registry + Core NFTs — the primitives the Solana Agent Registry's ERC-8004 port is built on); ERC-7857 has no public skill yet |
| 2 | Negotiation | A2A | `vendored/terminalskills/a2a-protocol/SKILL.md` (agent cards, task lifecycle), `vendored/openserv/openserv-multi-agent-workflows/SKILL.md` (multi-agent orchestration), `vendored/near/near-intents/SKILL.md` (Intents + solver competition for cross-chain fulfilment) |
| 3 | Contracts & obligations | Arkhai/Alkahest, ERC-8183 | `vendored/arkhai/alkahest-user/SKILL.md` (conditional escrow, arbiters) + `vendored/arkhai/alkahest-developer/SKILL.md` (build on Alkahest: custom arbiters/obligations), `vendored/arkhai/nla-create/SKILL.md` + `vendored/arkhai/nla-fulfill/SKILL.md` (natural-language-agreement escrows, AI-oracle arbitrated), `vendored/arkhai/make-git-escrow/SKILL.md` + `vendored/arkhai/fulfill-git-escrow/SKILL.md` (test-suite bounty escrows); ERC-8183 has no neutral public skill yet |
| 4 | Payment & escrow | x402, MPP, AP2, ERC-7710/7715 | `vendored/coinbase/agentic-wallet/SKILL.md` + `vendored/chaingpt/x402/SKILL.md` (x402), `vendored/tempo/mppx/SKILL.md` (MPP), `vendored/okx/okx-agent-payments-protocol/SKILL.md` (unified x402/MPP/a2a-pay), `vendored/metamask/smart-accounts-kit/skill.md` (delegations), `vendored/chaingpt/agent-wallet/SKILL.md` (policy-gated wallet), `integrations/x402-erc7710/SKILL.md` (combined rail). **On Solana** (non-EVM, no ERC-7710): `vendored/quicknode/quicknode-skill/SKILL.md` (x402 + MPP + agent subscriptions), `vendored/sendaifun/squads/SKILL.md` (Squads V4 multisig/smart accounts — the policy layer), `vendored/magicblock/magicblock-dev/SKILL.md` (delegated state + temporary scoped authority — the nearest ERC-7710 analogue), `vendored/sendaifun/glam/SKILL.md` (vault delegate permissions + timelock), `vendored/dflow/dflow-phantom-connect/SKILL.md` (wallet connect/signing/payments); AP2 has no public skill yet |
| 5 | Execution | the transacting agents + compute/data/value rails | `vendored/antseed/antseed-connect/SKILL.md` + `vendored/0g/0g-compute/SKILL.md` + `vendored/heurist/heurist-mesh-skill/SKILL.md` + `vendored/near/near-ai-cloud/SKILL.md` (paid/decentralized/TEE-verifiable inference), `vendored/lifi/lifi/SKILL.md` (cross-chain value movement), `vendored/chainbase/web3-data/SKILL.md` + `vendored/nansen/nansen-token-research/SKILL.md` (on-chain data/evidence), `vendored/starknet/starknet-defi/SKILL.md` (Starknet L2 contracts/DeFi), `vendored/solana/solana-dev/SKILL.md` (Solana programs, RPC lookups, SPL payments) + `vendored/sendaifun/helius/SKILL.md` / `vendored/sendaifun/birdeye/SKILL.md` / `vendored/octav/octav-api/SKILL.md` (Solana + multi-chain data as evidence) + `vendored/sendaifun/debridge/SKILL.md` (Solana↔EVM value movement) + `vendored/jupiter/integrating-jupiter/SKILL.md` (Solana liquidity/execution), `vendored/bnb-chain/bnbchain-mcp/SKILL.md`, the `vendored/near/*`, `vendored/okx/*` and `vendored/altlayer/*` packs |
| 6 | Verification & disputes | GenLayer (Kleros is an alternative) | `integrations/genlayer-intelligent-contracts/SKILL.md`, `vendored/intelligent-oracle/intelligent-oracle/SKILL.md`, `integrations/genlayer-erc7710-connector/SKILL.md`. Alternative third-party arbitration (disclose; not GenLayer's own): `vendored/kleros/kleros-curate/SKILL.md` (token-curated registries / challenges), `vendored/arkhai/nla-arbitrate/SKILL.md` (LLM/manual arbitration of natural-language-agreement escrows), `vendored/pnp/pnp-solana/SKILL.md` (Solana prediction markets with custom oracle resolution). Oracle **evidence** feeding a verdict (not adjudication itself): `vendored/sendaifun/pyth/SKILL.md` (price feeds with confidence intervals), `vendored/sendaifun/switchboard/SKILL.md` (on-demand data + VRF) |

## Skill Routing

Load a skill only when the task actually reaches its trigger — never preload.
Each row is a **trigger** on the left and, on the right, the skill(s) to pull
in with what each gives you and which to reach for first. When a need maps to
several sub-bundled skills, load the named entry skill first, then narrow to
the specific one. Owners that ship a whole pack (OKX, AltLayer, Nansen,
OpenServ, Starknet, ChainGPT) get a single **catch-all** row: load the entry
skill, then the specific sub-skill under `vendored/<owner>/` as the task
narrows — the folder listing is the current set of that owner's skills.

Paths are exact and end in `/SKILL.md` — several owners repeat their name in
the path (e.g. `vendored/lifi/lifi/SKILL.md`, `vendored/privy/privy/SKILL.md`,
`vendored/chaingpt/chaingpt/SKILL.md`); never shorten or merge the segments.
When a row lists alternatives, load **one** (the row says how to pick); if the
deciding fact is unknown, ask instead of preloading them all.

### Payment rails

| When you need to… | Load |
|---|---|
| Pay for an HTTP resource that returns **402** (pay-per-call), search x402 bazaars, or monetize your own endpoint | `vendored/coinbase/agentic-wallet/SKILL.md` — Coinbase x402 client: read the price, pay, retry with proof; start here for a one-off paid request. `vendored/chaingpt/x402/SKILL.md` — x402 discovery/monetization: find paid services or put your own endpoint behind 402. |
| Stream micropayments or run metered sessions (per-second / per-token, not per-request) | `vendored/tempo/mppx/SKILL.md` — Tempo/Stripe MPP charges, sessions, and streaming. Load when billing is continuous rather than a single call. **Not** for spending caps on per-request rails: a capped or recurring budget over x402 is `integrations/x402-erc7710/SKILL.md`, not MPP. |
| Dispatch a payment without hard-coding the rail (x402 vs MPP vs a2a-pay) | `vendored/okx/okx-agent-payments-protocol/SKILL.md` — OKX OnchainOS unified payment dispatcher. Load when the counterparty's rail is unknown or may vary. |
| Run a payment *through* a bounded permission (spend/subscription policy on the rail) | `integrations/x402-erc7710/SKILL.md` — connector fusing the x402 rail with an ERC-7710 delegated budget. Load for Guarded/Adjudicated paid access. |

### Authority, custody & delegation

| When you need to… | Load |
|---|---|
| Grant an agent bounded, revocable authority (ERC-7710 delegations, ERC-7715 permission requests, caveats) | `vendored/metamask/smart-accounts-kit/skill.md` — MetaMask smart accounts + delegation mechanics. The Guarded-level instrument for on-chain authority. Also the row for the user **manually revoking** their own delegation. |
| Give an agent a wallet with a built-in policy gate (per-tx caps, velocity limits, session keys) instead of a raw key | `vendored/chaingpt/agent-wallet/SKILL.md` — custody-free policy-gated wallet. Load when the agent must sign but you won't hand over a private key. |
| Provision or authenticate embedded/server wallets, with policy-gated signing across chains | `vendored/privy/privy/SKILL.md` — Privy wallet identity + auth. |

The first two are **mutually exclusive — pick by who holds the key**: the user
keeps custody and delegates → `smart-accounts-kit`; the agent gets its own
wallet (guardrails built in) → `agent-wallet`. Never load both for one design.

### Identity, reputation & negotiation

| When you need to… | Load |
|---|---|
| Register, discover, or vet an agent on-chain (ERC-8004 identity, reputation, validation) | `vendored/chaingpt/trustless-agents/SKILL.md` — ERC-8004 registries; the default identity/reputation skill. Also mintable via `vendored/openserv/openserv-multi-agent-workflows/SKILL.md`, on Starknet via `vendored/starknet/starknet-identity/SKILL.md`, on BNB via `vendored/bnb-chain/bnbchain-mcp/SKILL.md`. For a human-readable named-account identity anchor (`alice.near`), `vendored/near/near-api-js/SKILL.md`. |
| Prove a human stands behind the agent | `vendored/humanode/humanode-agentlink/SKILL.md` — Humanode AgentLink: sign HTTP requests, on-chain registry. |
| Talk to another agent: agent cards, offers, task lifecycle (A2A) | `vendored/terminalskills/a2a-protocol/SKILL.md` — A2A protocol; load at the negotiation step, before terms lock. For orchestrating many agents: `vendored/openserv/openserv-multi-agent-workflows/SKILL.md`. |

### Contracts & escrow

| When you need to… | Load |
|---|---|
| Lock funds that release on an arbiter's decision (conditional escrow) | `vendored/arkhai/alkahest-user/SKILL.md` — Alkahest EAS-based escrow with arbiters; the default escrow instrument. To **build on** Alkahest (write custom arbiters/obligations, integrate it), `vendored/arkhai/alkahest-developer/SKILL.md`. |
| Escrow behind a plain-language demand an AI oracle judges | `vendored/arkhai/nla-create/SKILL.md` (draft the agreement), `vendored/arkhai/nla-fulfill/SKILL.md` (deliver against it), `vendored/arkhai/nla-arbitrate/SKILL.md` (render the verdict) — natural-language-agreement escrows. |
| Bounty escrow that pays out for making a failing test suite pass | `vendored/arkhai/make-git-escrow/SKILL.md` (post the bounty), `vendored/arkhai/fulfill-git-escrow/SKILL.md` (claim it) — git-escrow, for code-delivery deals settled by tests. |

### Verification, adjudication & disputes

| When you need to… | Load |
|---|---|
| Write / deploy / test / lint a GenLayer Intelligent Contract | `vendored/genlayer/write-contract/SKILL.md` (author), `vendored/genlayer/genlayer-cli/SKILL.md` (deploy & call), `vendored/genlayer/direct-tests/SKILL.md` + `vendored/genlayer/integration-tests/SKILL.md` (test), `vendored/genlayer/genvm-lint/SKILL.md` (lint). Load the one matching your build step. |
| Design the adjudication itself: review rubric, evidence schema, decision payload | `integrations/genlayer-intelligent-contracts/SKILL.md` — the Adjudicated-level review interface. Load when the outcome needs qualitative / natural-language judgment. |
| Turn a verdict into enforcement (revoke or constrain an ERC-7710 permission) | `integrations/genlayer-erc7710-connector/SKILL.md` — relayer/controller wiring a decision to on-chain revocation. **Verdict-driven only**: load when adjudication must change the agent's authority; a user manually revoking their own delegation needs only `smart-accounts-kit`. |
| Settle a narrow binary question from public web evidence (prediction market / factual oracle) | `vendored/intelligent-oracle/intelligent-oracle/SKILL.md` — Intelligent Oracle. Refetch `https://www.intelligentoracle.com/skill.md` before schema-sensitive work. |
| Third-party arbitration as an alternative to GenLayer (**disclose** it isn't GenLayer's own) | `vendored/kleros/kleros-curate/SKILL.md` (token-curated registries / challenges) + `vendored/kleros/kleros-ipfs-upload/SKILL.md` (IPFS evidence); or `vendored/arkhai/nla-arbitrate/SKILL.md` for LLM/manual NLA arbitration; on Solana, `vendored/pnp/pnp-solana/SKILL.md` (permissionless prediction markets with custom oracle resolution). |

### Execution, data & value movement (layer 5)

| When you need to… | Load |
|---|---|
| Buy or sell AI inference (compute execution) | Pick **one** by venue: `vendored/0g/0g-compute/SKILL.md` (decentralized compute/storage/verifiable inference — the default when the venue is open), `vendored/antseed/antseed-connect/SKILL.md` (P2P inference over USDC channels), `vendored/heurist/heurist-mesh-skill/SKILL.md` (Heurist Mesh agents, x402 pay-per-call), `vendored/near/near-ai-cloud/SKILL.md` (private inference with **TEE attestation** — verifiable-execution evidence). If the venue is not yet known, load only the 0G default and ask — do not preload the rest. |
| Move value across chains (swaps / bridging) | `vendored/lifi/lifi/SKILL.md` — LI.FI cross-chain routing; `vendored/lifi/lifi-stablecoin-swap/SKILL.md` for stablecoin-specific swaps; `vendored/near/near-intents/SKILL.md` — NEAR Intents: cross-chain fulfilment via solver competition (chain-abstracted, one agent acts across chains). To or from **Solana**: `vendored/sendaifun/debridge/SKILL.md` — deBridge Solana↔EVM bridging, message passing and trustless external calls. |
| Pull on-chain data as evidence (balances, tx history, labels, holders, smart-money) | `vendored/chainbase/web3-data/SKILL.md` — general on-chain data. For deeper intelligence, the **Nansen** 7-skill pack under `vendored/nansen/`: start with `nansen-token-research`, then `nansen-wallet-profiler` / `nansen-holder-analysis` / `nansen-smart-money-tracker` / `nansen-general-search` / `nansen-prediction-markets` / `nansen-mpp-payment` as the question narrows. On **Solana**: `vendored/sendaifun/helius/SKILL.md` (DAS API, transaction/webhook streams), `vendored/sendaifun/birdeye/SKILL.md` (token prices, holder/trader intelligence, wallet P&L), `vendored/octav/octav-api/SKILL.md` (multi-chain portfolio + tx history, x40
