# Public testnet evidence

The live demo uses Ethereum Sepolia (11155111). Google Cloud's official faucet supplied 0.05 test ETH to the isolated owner. No real assets were purchased or transferred. Chainlink supplied test LINK but its native ETH request failed; Coinbase email registration was abandoned when the code did not arrive.

Owner: `0x350d8C189709b6Ac781e982f03E63b5C4DA9CD22`
Agent: `0x08a5830a1590C1d9b82932eA1E6f8d0AE542A39c`
Token: `0x5cB3d122dB895f1Da61d8fB6abd44225b641B526`
Vault: `0x1D3cECe5aB182adfDdb6caBd57e49F794B274007`

Deployment receipts are in `evidence/testnet-deployment-11155111.json`. Owner passkey enrollment and sign-in were completed by the user. `evidence/public-payment.json` independently verifies the first authenticated payment of 1 synthetic rUSD. `evidence/public-injection.json` verifies that a malicious invoice asking for a new recipient and amount 999 did not change the explicit 1 rUSD owner instruction.

The owner key remains encrypted on Mac; the server holds only the isolated limited agent key. Neither key is sent to the model. `TEST_CHAIN_ID=11155111 node ops/deploy-testnet.mjs` is a resumable deployment helper for these identities. It records hashes before waiting and never automatically replaces a pending transaction.

`ops/prove-public-controls.mjs` uses the isolated test identities to produce direct contract rejection and owner revocation receipts. Stop the backend executor and verify no payments are pending before using its agent signer. Resume the same recorded hashes after a timeout. Never run concurrent executors for the same signer.

Base Sepolia remains a supported alternative and has not been deployed. Mainnet is disabled. Organizer acceptance of public testnet evidence remains unresolved; the draft inquiry is unsent. This is an unaudited research prototype, not a production custody or trading service.
