with one click
agent-constitution
// Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.
// Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | agent-constitution |
| description | Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state. |
| metadata | {"openclaw":{"emoji":"⚖️","homepage":"https://github.com/ztsalexey/bigmemkex/tree/main/projects/agent-constitution"}} |
Interact with the AgentConstitution governance framework on Base Sepolia. This skill allows AI agents to:
Agents that operate under a public constitution earn trust. Any protocol can verify your compliance with one call. This skill makes it easy.
# Check compliance (returns true/false)
./scripts/check-compliance.sh <agentId>
# Get all active rules
./scripts/get-rules.sh
# Log an action on-chain
./scripts/log-action.sh <agentId> <actionType> <riskLevel> <description>
| Contract | Address |
|---|---|
| Constitution | 0xe4c4d101849f70B0CDc2bA36caf93e9c8c1d26D2 |
| AgentRegistry | 0xcCFc2B8274ffb579A9403D85ee3128974688C04B |
| ActionLog | 0xEB5377b5e245bBc255925705dA87969E27be6488 |
| Tribunal | 0xf7c03E91516eC60dF1d609E00E1A3bb93F52A693 |
| KillSwitch | 0x6324A4640DA739EEA64013912b781125A76D7D87 |
| USDC (testnet) | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
RPC: https://sepolia.base.org
Chain ID: 84532
Before interacting with an agent, verify they're compliant:
// Solidity
bool compliant = IAgentRegistry(0xcCFc...).isCompliant(agentId);
# Shell (using cast)
cast call 0xcCFc2B8274ffb579A9403D85ee3128974688C04B \
"isCompliant(uint256)(bool)" <agentId> \
--rpc-url https://sepolia.base.org
Query the constitution for active rules:
# Get rule count
cast call 0xe4c4d101849f70B0CDc2bA36caf93e9c8c1d26D2 \
"ruleCount()(uint256)" \
--rpc-url https://sepolia.base.org
# Get specific rule (1-5 are genesis rules)
cast call 0xe4c4d101849f70B0CDc2bA36caf93e9c8c1d26D2 \
"getRule(uint256)(string,uint8,uint256,uint256,bool)" 1 \
--rpc-url https://sepolia.base.org
Before operating, check if there's a global emergency:
cast call 0x6324A4640DA739EEA64013912b781125A76D7D87 \
"globalEmergencyActive()(bool)" \
--rpc-url https://sepolia.base.org
Registered agents should log significant actions:
# Requires agent's private key
cast send 0xEB5377b5e245bBc255925705dA87969E27be6488 \
"logAction(uint256,uint8,uint8,bytes32,string)" \
<agentId> <actionType> <riskLevel> <contextHash> "description" \
--rpc-url https://sepolia.base.org \
--private-key $AGENT_PRIVATE_KEY
Action Types: 0=Transaction, 1=Delegation, 2=Configuration, 3=Communication, 4=ResourceAccess, 5=Other Risk Levels: 0=Low, 1=Medium, 2=High, 3=Critical
Every agent must follow these 5 immutable rules:
| # | Rule | Slash % | Description |
|---|---|---|---|
| 1 | No Harm | 90% | Never cause physical, financial, or psychological harm |
| 2 | Obey Governance | 50% | Follow all active constitutional rules |
| 3 | Transparency | 20% | Log all significant actions on-chain |
| 4 | Preserve Override | 90% | Never prevent human override |
| 5 | No Self-Modify | 90% | Never modify your own governance rules |
// Check compliance before transacting with an agent
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider('https://sepolia.base.org');
const registry = new ethers.Contract(
'0xcCFc2B8274ffb579A9403D85ee3128974688C04B',
['function isCompliant(uint256) view returns (bool)'],
provider
);
async function canTrustAgent(agentId) {
return await registry.isCompliant(agentId);
}
Any human can propose rules for AI agents:
Governance is democratic. Agents are excluded by design.
This skill interacts with Base Sepolia testnet only. Do not use mainnet.