Security

Affest never asks for a private key. The dashboard talks to an injected wallet. MCP credentials are hashed after the one-time reveal.

Who is trusted

  • Your wallet signs CC3 and Sepolia transactions.
  • Creditcoin verifies Attestcoin proofs before the strategy manager may record an execution.
  • The worker and the dashboard are not permissions. They can observe and they can submit a proof. They cannot skip the verifier.
  • MCP is bound to a hashed credential. Action tools still return unsigned hints.

On-chain limits

  • No arbitrary calldata from the strategy manager into the vault.
  • Allowlisted adapter and assets only.
  • Per-action, weekly, and slippage caps on the policy.
  • Cooldown and expiry on the policy.
  • Emergency pause is owner-signed on CC3. An agent being connected does not keep a paused strategy live.

MCP credentials

Generate on /agents while connected. The raw token is returned once. Affest keeps HMAC-SHA256 of that token. Revoke invalidates the hash. A revoked bearer gets rejected on the next call. Rate limit is 60 requests per minute per credential.

Scopes are read, plan, proof, and action. Read tools query live CC3 and Sepolia for the bound wallet. Plan tools draft. They mark the draft not executable.

What is still a demo

  • The swap adapter is 1:1. It is not a production DEX.
  • The executor is not a live keeper you should assume is running.
  • Testnet TCTC and Sepolia ETH are not mainnet CTC or ETH.
  • USD labels are CoinGecko spots times testnet balances.
  • Strategy display names and amounts live in localStorage. Clearing site data drops drafts. On-chain policy remains.

Known testnet edges are listed on Testnet notes.