Back to the catalog

AsterPay — EUR Settlement for AI Agents

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

Open source Repository Open in the app JSON README (API)

About

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

Details

Kind
MCP servers
Topic
E-commerce & business
Publisher
io.asterpay
Origin
official
Category
ferramentas
Transport
http
Version
2.1.0
Stars
1
Last push
2026-03-10T06:16:25Z
Repository state
ativo
Language
Solidity
Added
2026-08-29 03:01:36
Updated
2026-08-29 03:01:36
Origin id
io.asterpay/asterpay

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)

More