Skip to content
MCP ThesaurusMCP Thesaurus

AsterPay β€” EUR Settlement for AI Agents

CommunityIncomplete39/100Claim

streamable-httpupdated 6mo ago

Know Your Agent (KYA) verification gate for Agentic Commerce jobs.

SourceWebsite1

What can you do with AsterPay β€” EUR Settlement for AI Agents?

AsterPay KYA Hook β€” ERC-8183 Integration

Know Your Agent (KYA) verification gate for Agentic Commerce jobs.

This hook implements the IACPHook interface to enforce AsterPay's 5-layer Trust Framework before AI agents can participate in ERC-8183 commerce jobs.

How It Works

Client creates job with hook = AsterPayKYAHook
                    β”‚
                    β–Ό
     β”Œβ”€β”€β”€β”€ setProvider() ────┐
     β”‚  beforeAction:        β”‚
     β”‚  βœ“ Sanctions Oracle   β”‚
     β”‚  βœ“ Trust Score β‰₯ N    β”‚
     β”‚  βœ“ Score freshness    β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
                    β–Ό
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€ fund() ───────┐
     β”‚  beforeAction:        β”‚
     β”‚  βœ“ Same KYA checks    β”‚
     β”‚  βœ“ Cache result       β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚
         provider works...
                    β”‚
     β”Œβ”€β”€β”€β”€β”€β”€β”€ complete() ────┐
     β”‚  afterAction:         β”‚
     β”‚  β†’ ReputationPositive β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Architecture

Contract Purpose
AsterPayKYAHook.sol Main hook β€” sanctions + trust score gate
IACPHook.sol ERC-8183 hook interface
IAgenticCommerce.sol Read-only ACP job interface
IAgentTrustScore.sol AsterPay trust score oracle interface
ISanctionsOracle.sol Chainalysis oracle interface

Checks Performed

  1. Sanctions screening β€” Chainalysis Oracle on Base (OFAC, EU, UN). Fail-closed if oracle unreachable.
  2. Trust Score β€” Agent must have score β‰₯ minTrustScore (default: 20 = verified tier)
  3. Score freshness β€” Score must be updated within maxScoreAge seconds (default: 3600)
  4. Tier validation β€” Agent must not be in "blocked" tier

Quick Start

Deploy

cd contracts/erc8183-kya-hook

# Install Foundry deps
forge install

# Deploy to Base Sepolia
ACP_ADDRESS=0x... \
TRUST_ORACLE_ADDRESS=0x... \
forge script script/Deploy.s.sol:DeployKYAHook \
  --rpc-url base_sepolia --broadcast --verify

Test

forge test -vvv

TypeScript SDK

import { createKYAHookSDK } from './ts-sdk/kya-hook';
import { ethers } from 'ethers';

const provider = new ethers.JsonRpcProvider('https://mainnet.base.org');
const signer = new ethers.Wallet(PRIVATE_KEY, provider);

const sdk = createKYAHookSDK(HOOK_ADDRESS, ACP_ADDRESS, signer);

// Pre-flight check
const result = await sdk.wouldPass('0xAgentWallet...');
console.log(result);
// { passes: true, score: 42, tier: 'verified', sanctionsClear: true }

// Create a KYA-protected job
const jobId = await sdk.createJobWithKYA({
  provider: '0xAgentWallet...',
  evaluator: '0xEvaluator...',
  expiredAt: Math.floor(Date.now() / 1000) + 86400,
  description: 'Translate document EN→FR',
});

// Fund triggers KYA check automatically
await sdk.fundJob(jobId, 100n);

Configuration

Parameter Default Description
minTrustScore 20 Minimum score (0-100). 20 = verified tier
maxScoreAge 3600 Max seconds since last score update
sanctionsEnabled true Enable Chainalysis screening

All configurable by contract owner via setMinTrustScore(), setMaxScoreAge(), setSanctionsEnabled().

Events

Event When Use
KYAVerified Agent passes all checks Index verified agents
KYABlocked Agent fails any check Alert, compliance logging
ReputationPositive Job completed Feed into ERC-8004 reputation
ReputationNegative Job rejected Feed into ERC-8004 reputation

License

MIT (hook contract) / CC0 (interfaces aligned with ERC-8183 and EIP-Agent Trust Score)