# AsterPay — EUR Settlement for AI Agents

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/AsterPay/erc8183-kya-hook  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/asterpay-eur-settlement-for-ai-agents

## Description
EUR settlement + trust for AI agent commerce: budgets, KYA, merchant discovery. 22 tools.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "asterpay-eur-settlement-for-ai-agents": {
    "command": "npx",
    "args": ["-y","asterpay-eur-settlement-for-ai-agents"]
  }
}
```

## Documentation & README

# AsterPay KYA Hook — ERC-8183 Integration

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

This hook implements the [`IACPHook`](https://eips.ethereum.org/EIPS/eip-8183) 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

```bash
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

```bash
forge test -vvv
```

### TypeScript SDK

```typescript
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)

