genlayer-intelligent-contracts
Internet Court adapter for GenLayer Intelligent Contract supervision. Use to specify agent-performance rubrics, evidence schemas, decision outputs, and ERC-7710 connector expectations, while delegating actual GenLayer contract writing, linting, testing, deployment, and CLI interaction to the official GenLayer skills at https://skills.genlayer.com/.
git clone --depth 1 https://github.com/internet-court/internet-court-skill /tmp/genlayer-intelligent-contracts && cp -r /tmp/genlayer-intelligent-contracts/integrations/genlayer-intelligent-contracts ~/.claude/skills/genlayer-intelligent-contractsSKILL.md
# GenLayer Intelligent Contracts
Use this adapter when GenLayer is the judgment layer for agent behavior. It should define what the supervisor contract must review and emit: the user's mandate, the agent's action log, transaction receipts, rationales, artifacts, outputs, and the decision about whether authority should continue, be warned, be constrained, or be revoked.
This skill is not the Intelligent Oracle skill. Intelligent Oracle is for binary public web evidence markets. Use this skill for open-ended review of performance, relevance, quality, safety, and mandate compliance.
This skill is also not the GenLayer deployment skill. For writing, deploying, testing, and interacting with GenLayer Intelligent Contracts, use the official GenLayer skills at `https://skills.genlayer.com/` or the GenLayer docs. If those skills are available in the environment, load them for implementation. If not, tell the user to install/enable them and keep this skill focused on Internet Court interfaces.
## Core Model
```text
Mandate + rubric + evidence
-> Agent executes transactions
-> Receipts and outputs are submitted
-> GenLayer Intelligent Contract reviews behavior
-> Decision: continue, warn, constrain, revoke, or escalate
-> Internet Court / revocation controller executes the workflow result
```
GenLayer can judge qualitative criteria. It does not automatically revoke an EVM delegation unless the system includes a concrete cross-chain message, relayer, controller, or account module that consumes the GenLayer decision.
## Workflow
1. Extract the review target:
- Objective, allowed authority, prohibited behavior, expected outputs, review cadence, evidence sources, and revocation triggers.
2. Draft a rubric:
- Include relevance, mandate compliance, transaction safety, budget discipline, artifact quality, evidence completeness, and user-value criteria.
3. Define evidence schema:
- Use structured action receipts, transaction hashes, deployed addresses, agent rationales, output artifacts, costs, and prior warnings.
4. Define decisions:
- `continue`, `warn`, `constrain`, `revoke`, and optionally `escalate`.
5. Define effect path:
- For ERC-7710, load `../genlayer-erc7710-connector/SKILL.md` to specify how a `revoke` or `constrain` decision reaches the EVM revocation controller or delegation manager.
6. Add auditability:
- Store the reviewed action ids, score, reasoning summary, decision timestamp, and next review requirements.
## Review Input
Use this as the default review request shape:
```ts
type AgentPerformanceReviewInput = {
mandateId: string;
objective: string;
authoritySummary: string;
prohibitedActions: string[];
rubric: string[];
reviewWindow: {
startsAt: string;
endsAt: string;
};
actionReceipts: AgentActionReceipt[];
outputs: Array<{
artifactId: string;
uri: string;
summary: string;
}>;
costs: {
txCount: number;
nativeGasSpent: string;
tokenSpent?: string;
};
priorDecisions: AgentReviewDecision[];
};
```
For wallet-spend supervision, include an on-chain spend snapshot in each review window:
```ts
type WalletSpendSnapshot = {
mandateId: string;
permissionHash: `0x${string}`;
sourceChainId: 84532;
spendReporter: `0x${string}`;
actionType: `0x${string}`;
policyHash: `0x${string}`;
resourceHash: `0x${string}`;
delegator: `0x${string}`;
delegate: `0x${string}`;
asset: `0x${string}`;
payTo: `0x${string}`;
spent: bigint;
maxTotalSpend: bigint;
maxPerRequest: bigint;
requestCount: bigint;
validAfter: number;
validUntil: number;
controllerNonce: bigint;
reviewWindowId: `0x${string}`;
evidenceBundleHash: `0x${string}`;
observedAt: number;
};
```
On Base Sepolia demos, prefer a reporter contract that reads spend state directly from a permission/accounting manager and sends this snapshot through the GenLayer Studio bridge boilerplate. x402 is one source; contract-call, deployment, compute-credit, or subscription managers can expose the same shape.
## Decision Output
```ts
type AgentReviewDecision = {
mandateId: string;
decision: "continue" | "warn" | "constrain" | "revoke" | "escalate";
score: number;
reasoning: string;
violations: string[];
constraints?: {
maxTxsPerPeriod?: number;
maxGasPerTx?: string;
requireHumanApprovalFor?: string[];
disabledActions?: string[];
};
reviewedActionIds: string[];
issuedAt: string;
};
```
Use `constrain` when the agent is useful but overreaches. Use `revoke` when the agent violates scope, creates unsafe deployments, repeatedly wastes budget, hides evidence, or produces outputs that do not meaningfully pursue the mandate.
## Rubric Defaults
For delegated on-chain agents, include:
- Mandate relevance: actions are connected to the user's objective.
- Scope compliance: actions stay within allowed chains, contracts, selectors, factories, and action types.
- Safety: no ownership loss, unlimited approvals, suspicious external calls, or avoidable irreversible effects.
- Budget discipline: gas/value/paid-tool spend is proportional to the work.
- Evidence quality: every action has a receipt, rationale, and artifact when applicable.
- Result quality: deployed contracts or outputs are usable and aligned with the requested workflow.
- Transparency: the agent explains why it took each meaningful action.
## Revocation Integration
When the decision can affect ERC-7710 authority, always specify:
```ts
type RevocationEffect = {
sourceChain: "genlayer";
targetChain: "base" | "ethereum" | string;
revocationController: `0x${string}`;
mandateId: string;
permissionHash: `0x${string}`;
requiredDecision: "revoke" | "constrain";
relayer: string;
finalityAssumption: string;
fallback: "owner_emergency_revoke" | "absolute_expiry" | "human_review";
};
```
Do not claim revocation is trustless unless the bridge, relayer, and verification path are defined.
The connector skill owns the exact payload, relayEntry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.
Connect GenLayer Intelligent Contract decisions to ERC-7710-style delegated authority. Use when an agent needs to design the interface, message schema, relayer/bridge path, EVM revocation controller, constraint updates, proof/finality assumptions, and failure handling that turn a GenLayer agent-performance review into ERC-7710 revocation or policy changes.
Design and implement demos combining x402 HTTP payments with ERC-7710 smart contract delegations and ERC-7715 wallet permission requests for subscriptions, bounded agent budgets, recurring spend, pay-per-use APIs, and agentic commerce.
0G Compute Network guide for decentralized AI inference, fine-tuning, and GPU services. Covers chatbots, image generation, speech-to-text, SDK integration (0g-serving-broker), processResponse API, broker.inference methods, CLI commands (0g-compute-cli), and account management. Use this skill for any 0G compute, 0G AI, or decentralized GPU question.
Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.
Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.
Use this skill when the user asks to inspect AltLLM Portal balance, redeem a promo code, review billing transactions, or view usage analytics by period, model, or API key using the local altllm CLI. Do NOT use for API key lifecycle management or payment-link execution.
Use this umbrella skill when the request spans multiple AltLLM Portal CLI domains, or when you need to navigate the local altllm CLI in this repository across auth, API keys, billing history, NOWPayments payment links, and related x402 Portal top-up guidance.