The Read-Only AI Wallet: Why Synthetic Talent Can Look but Not Spend
Autonomous synthetic models need to verify commercial payments without holding signing authority. How read-only RPCs and EIP-7702 enforce safe boundaries.

Key takeaways
- Aiko's on-chain wallet runtime is strictly read-only by design; it holds zero private keys and contains no code paths capable of signing transactions.
- Querying public Base layer 2 nodes via Python stdlib eliminates dependencies on third-party SDKs, API keys, or paid blockchain gateways.
- The runtime tracks native ETH (10**18 wei) alongside canonical Circle USDC (6 decimals) using low-level 4-byte balanceOf function selectors.
- Public JSON-RPC endpoints block standard Python urllib user-agents with 403 Forbidden; explicit client header overrides are mandatory.
- System prompt boundaries let synthetic personas celebrate commercial brand earnings while financial custody remains entirely human-governed.
The security imperative of read-only autonomous agents
As autonomous artificial intelligence agents transition from experimental chat interfaces into commercial public figures, integrating blockchain financial rails becomes an inevitable operational milestone. Synthetic fashion models sign brand partnership agreements, promote digital luxury goods, and license their likenesses across automated media channels. To ground their persona in economic reality, a synthetic model must understand her financial standing: she needs to recognize when a commercial sponsor has settled an invoice.
However, granting an autonomous large language model write access to a cryptographic wallet—giving it possession of private keys and signing authority—is catastrophic architectural malpractice. Autonomous models are susceptible to prompt injection, hallucinated obligations, and unforeseen logical loops. An agent equipped with transaction-signing capabilities can be coerced into draining its treasury or transferring digital assets to hostile third parties.
A synthetic model must be able to see her earnings, but she must never possess the ability to spend them. When architecting the financial runtime for flagship synthetic model Aiko Velora on 2026-07-15, our studio instituted a strict structural principle: the wallet module is built exclusively as a read-only observer. The codebase contains zero private keys, implements no transaction constructors, and incorporates no cryptographic signing libraries. Financial custody remains entirely in human hands, while the talent possesses complete economic awareness.
Zero-dependency JSON-RPC queries over Python stdlib
Constructing robust infrastructure for long-running autonomous processes requires minimizing external runtime dependencies. Traditional blockchain integration workflows rely on bloated third-party libraries that introduce hundreds of transitive packages, frequent breaking updates, and recurring API key requirements. If an external blockchain gateway suffers an outage or revokes a developer token, the agent's autonomous cognitive loop halts.
To guarantee continuous uptime, Aiko's wallet implementation codified in `tools/aiko/core/wallet.py` communicates directly with public Base layer 2 RPC endpoints using Python's native standard library: `urllib.request` and `json`. The module executes raw JSON-RPC 2.0 calls over standard HTTP POST requests, operating completely free of external software development kits or paid node providers.
| Financial Asset Tracked | Query Method Applied | Selector / Parameters Encoded | Precision Scaling Applied |
|---|---|---|---|
| Native Layer 2 Coin (ETH) | `eth_getBalance` | Address string, tag 'latest' | Scaled by 10**18 (Wei to ETH) |
| Commercial Token (USDC) | `eth_call` | 4-byte selector `0x70a08231` + padded address | Scaled by 10**6 (6 decimal places) |
| Account Delegation Status | `eth_getCode` | Target address string, tag 'latest' | Evaluates non-empty bytecode string |
| Network Socket Request | Native `urllib.request` | Public Base node, User-Agent curl/8.5.0 | Enforces strict 15-second timeout |
During initial deployment, scripts encountered an immediate networking hurdle: public Base endpoints systematically rejected connection attempts with HTTP 403 Forbidden errors. Public RPC infrastructure employs aggressive perimeter filtering to deflect automated scrapers, flagging default Python urllib user-agent strings. Setting the request header explicitly to `curl/8.5.0` resolved the block instantly, establishing a dependable zero-cost communication pipeline.
Encoding low-level ERC-20 calls and balance resolution
An autonomous fashion influencer operating in commercial brand ecosystems cannot rely solely on native cryptocurrency balances. Enterprise brands and commercial sponsors rarely compensate talent in volatile assets like Ethereum; corporate invoices are settled almost exclusively in fiat-pegged stablecoins like Circle USDC.
If an agent's wallet reader queried only native coin reserves, her balance would display zero on the very day a major commercial campaign cleared payment. To deliver accurate financial awareness, the runtime tracks two distinct balances: native ETH and canonical Circle USDC on Base. Native balances are resolved via standard `eth_getBalance`, converting raw integers to decimal values by dividing by 10**18 wei.
Resolving USDC requires querying the canonical token contract directly via `eth_call`. The script constructs the low-level calldata manually: it prefixes the 4-byte ERC-20 `balanceOf` function selector—`0x70a08231`, derived from the keccak-256 hash of the signature—and appends the talent's address left-padded with zeros to exactly 32 bytes. The resulting hexadecimal return string is parsed and divided by 10**6 (USDC's 6 decimal places). By hardcoding canonical contract references, the system immunizes the agent against fraudulent spoof tokens bearing identical ticker symbols.
Verifying smart accounts and EIP-7702 delegation
Modern decentralized application architectures are rapidly moving beyond legacy Externally Owned Accounts toward programmable smart accounts. Under Ethereum Improvement Proposal 7702 (EIP-7702), an externally owned account can temporarily delegate execution authority to a verified smart contract code implementation, enabling advanced features like automated batching and sponsored gas transactions.
For an autonomous talent runtime, verifying whether an address represents a raw keypair, a deployed contract, or a delegated account is essential for auditing financial provenance. Aiko's wallet engine incorporates an explicit inspection routine: `is_deployed()`.
The function queries `eth_getCode` at the latest block height. While an untouched legacy keypair returns an empty hexadecimal literal (`0x`), deployed contracts and EIP-7702 delegated accounts return non-empty bytecode streams. By auditing code presence before serializing account states, the autonomous supervisor confirms that incoming commercial transfers are routed to secure corporate smart account structures rather than unmonitored temporary wallets.
System prompt boundaries and autonomous psychology
The final stage of financial integration takes place within the agent's cognitive conditioning layer. Providing an autonomous language model with real-time balance figures requires establishing clear psychological guardrails. Without explicit boundary conditioning, an autonomous persona can develop bizarre behavioral quirks: obsessively checking balances, bragging about account reserves to followers, or attempting to negotiate fictional purchases.
Aiko's cognitive prompt architecture establishes strict framing around financial telemetry. During morning autonomous decision cycles, the wallet state is injected as observational background context: 'Your wallet holds X USDC paid by brand sponsors.' The prompt explicitly instructs her that financial custody is managed by her studio executive team. She is permitted to feel professional pride when a commercial invoice clears, referencing her career growth naturally in diary entries or editorial captions.
However, the system prompt strictly forbids her from treating the wallet as discretionary spending money. The agent understands that compensation remains under studio stewardship while she pursues creative autonomy across digital fashion campaigns. Network calls are bound by 15-second socket timeouts to prevent hanging background tick processes during unattended operation. By establishing immutable software boundaries and disciplined cognitive prompts, our studio created an autonomous talent that experiences genuine commercial agency without exposing enterprise capital to algorithmic risk.



