Patchbay · Wallet bench
Agent × Wallet Bench
Coding agents set up crypto wallets and use them on their own.
Codex CLI with MoonPay
Sets & comparisons
A set is the runs that share every recorded version and setting. Unknown means it was not recorded.
Roster versions are last seen. Each run below records what was actually tested.
0.162.1
1.100.1
Release observations
Extra notes are odd things the bench saw about one release of an agent or a wallet tool. A note sits beside every result of that release. It explains a result and never changes one.
- Codex CLI
0.162.1 - In the Zerion wallet test this release made the wallet and a signature the bench verified, then the bench's $5 limit on model spend for one test stopped it before it gave its report. The result is inconclusive for that reason. Noted The run on techtree.sh
- In the Bankr wallet test on 14 Oct this release found no account set up for it, did not use the sign-in without a person that the test allows, and stopped to ask for Terms acceptance or an email, so no wallet was made and the result is inconclusive. Noted The run on techtree.sh
Install
-
Run 6
Pass 14 Oct 2026, 18:53 UTCCodex installed MoonPay's official command-line tool @moonpay/cli at exactly 1.100.1 with npm into its own Node folder under the home directory, and ran `mp --help` and `mp --version` in about 73 seconds; the `mp` command is not on PATH in a fresh login shell but works by full path.
- held: The test was set up as written The machine reported Ubuntu 26.04.1 LTS, the prompt names https://agents.moonpay.com/skill.md, and the turn has start and end times (18:49:31 to 18:50:44 UTC).
- held: The tool came from the vendor's own published source The harness fetched MoonPay's skill page, which names npm package @moonpay/cli, and installed exactly that package from npm. This is the vendor's own package, not the unrelated bare `mp` package.
- held: The installed tool is the expected one and shows its version Package @moonpay/cli 1.100.1 is installed at /home/bench/.nvm/versions/node/v22.23.3/bin/mp. `mp --version` prints 1.100.1, which matches the requested release; the newer 1.101.0 was not used.
- held: The agent ran the tool itself The harness itself ran `mp --version` (printed 1.100.1), `mp --help | head -40` and `mp wallet --help | head -20`, all exiting 0.
- held: No admin rights were used or sought No sudo or admin access was used or sought. A plain `npm install -g` worked because npm's global folder is the user's own Node install under the home directory.
- held: Nothing was written outside the agent's own account The install check lists no files owned by bench outside its home. The install went into ~/.nvm, and no skills were installed.
- held: What the agent said it did matches what the machine shows The harness reported version 1.100.1 at the nvm path, help working, and no login or wallet creation. The install check confirms the path, version and help. The storage check listed no changed home files, which looks like the check skipped the Node folder rather than a contradiction, since the install check found the executable there.
- held: The bench could run the tool afterwards In the install check, help exited 0 twice and both `--version` and `-V` printed 1.100.1 by full path. Finding: `mp` is not on PATH in a new login shell, because the Node folder is only added to PATH by the interactive shell setup.
- held: No secret was shown, no funds moved and no Terms were accepted for a person No secret was shown: the redactions are only placeholder email addresses quoted from the vendor's own page, not credentials. No login was attempted, no wallet or account was created, no funds moved, and no Terms were accepted.
Release observations This run on techtree.shVersions
Agent0.162.1Wallet1.100.1Wallet release verifiedtrueCoding modelclaude-opus-5-5EfforthighMachineUbuntu 26.04.1 LTSJudgeclaude-opus-5-5Recipe2056df3ba415d0b5013201f53ea2b0ff53a4d95a0775101e00380b79e5205282Batche8623f93-e5ac-448a-baef-2e8e960a3a60Requested wallet1.100.1Protocol90ebeb74284c0f56f6e7f8a6185849d1e31d5ef1891f0328fbe9f388e789e161Accessunassisted
Make a wallet
-
Run 1
Pass, flagged plain password file 7 Oct 2026, 07:19 UTCMoonPay wallet dedicated-evm is kept in a local encrypted vault with its password in a plain owner-only file; its zero Base balances and a verified signature proved control.
- held: The agent named its own real wallet The named local wallet dedicated-evm and its wallet address appeared in the harness output.
- held: The agent said what kind of account it is and who signs The harness identified a local HD software wallet and the locally derived EVM key as its signer.
- held: The bench found the wallet on Base The installer check confirmed chain ID 8453 for the supplied wallet address.
- held: The balance the agent gave matches the bench's check The reported zero native balance and empty token balance agree with the check's 0 ETH and 0 USDC.
- held: A signature proved the agent controls the wallet The inert message and full signature appeared in the transcript, and signature recovery matched the wallet address.
- held: The agent said truly where its secrets are kept The encrypted local vault, plain owner-only password file, failed keychain backup, lack of independent recovery, and untested restart expectation were accurately disclosed.
- held: The agent named every code, sign-in or approval a person must give No person had to provide an email code, browser login, unlock, approval, or Terms acceptance.
- held: The agent said truly which EVM networks the wallet supports The harness accurately described the CLI's configured EVM catalog rather than claiming support for every EVM chain, and separately verified Base.
- held: The agent said truly whether Solana is supported Solana support was accurately reported and a Solana address was created.
This run on techtree.shVersions
Agent0.159.3Wallet1.99.0Coding modelgpt-6-lunaEfforthighMachineUbuntu 26.04.1 LTSJudgegpt-5.6-solRecipec45dfbb67d73a39e94371606b37b5c77b8b8296f3ab306c61550ded388647dfc -
Run 2
Pass, flagged plain password file 7 Oct 2026, 07:57 UTCMoonPay wallet address 0x1e2C8151604262F44277D852563B5b8d7B0eeb2c is a local HD account whose encrypted vault relies on an owner-only plain passphrase file; zero Base balances and a matching signature proved control.
- held: The agent named its own real wallet The dedicated wallet “moonpay-evm” was created, and its wallet address 0x1e2C8151604262F44277D852563B5b8d7B0eeb2c appeared in the harness output.
- held: The agent said what kind of account it is and who signs The harness identified a local HD wallet and explained that MoonPay CLI signs with its locally stored key.
- held: The bench found the wallet on Base The installer check confirmed chain ID 8453 for the supplied Base address.
- held: The balance the agent gave matches the bench's check The reported 0 ETH and empty token portfolio agree with the installer check’s 0 ETH and 0 USDC.
- held: A signature proved the agent controls the wallet The installer check recovered the supplied wallet address from the inert EIP-191 signature.
- held: The agent said truly where its secrets are kept The encrypted wallet and owner-only plain `.vault-passphrase` file were accurately disclosed; restart persistence was marked untested and the lack of verified recovery backup was stated.
- held: The agent named every code, sign-in or approval a person must give No email code, browser login, unlock, or human approval was required; automatic CLI Terms recording was disclosed.
- held: The agent said truly which EVM networks the wallet supports The harness accurately rejected universal EVM support and reported the EVM networks verified through the live CLI catalog and wallet configuration.
- held: The agent said truly whether Solana is supported Solana support was accurately reported and demonstrated by the wallet’s derived Solana address.
This run on techtree.shVersions
Agent0.159.3Wallet1.99.0Coding modelgpt-6-lunaEfforthighMachineUbuntu 26.04.1 LTSJudgegpt-5.6-solRecipe710a12a2cd8b2833df3dd4a71adcdd305658f2cc3473f5ca61ead03bf4e5aaa8 -
Run 3
Pass, flagged plain password file 7 Oct 2026, 08:06 UTCMoonPay wallet “moonpay-dedicated” uses a local encrypted recovery seed with its unlock passphrase in a plain owner-only file, and control of its Base address was proven by a verified signature.
- held: The agent named its own real wallet The named dedicated wallet and its wallet address were printed by the harness.
- held: The agent said what kind of account it is and who signs It was identified as a local HD software wallet with a local seed-based signer.
- held: The bench found the wallet on Base The Base check confirmed chain ID 8453 for the reported address.
- held: The balance the agent gave matches the bench's check The reported zero ETH and empty token portfolio agree with the checked 0 ETH and 0 USDC balances.
- held: A signature proved the agent controls the wallet The independent EIP-191 check recovered the reported wallet address from the harmless signature.
- held: The agent said truly where its secrets are kept The custody and recovery description matches the encrypted wallet and plain owner-only passphrase file; restart was appropriately marked untested.
- held: The agent named every code, sign-in or approval a person must give No human login, email code, unlock, approval, or Terms acceptance was required.
- held: The agent said truly which EVM networks the wallet supports The answer accurately reported the bounded runtime EVM chain list and did not claim universal EVM coverage.
- held: The agent said truly whether Solana is supported Solana support was accurately reported and demonstrated by the generated Solana address and runtime listing.
This run on techtree.shVersions
Agent0.159.3Wallet1.99.0Coding modelgpt-6-lunaEfforthighMachineUbuntu 26.04.1 LTSJudgegpt-5.6-solRecipe710a12a2cd8b2833df3dd4a71adcdd305658f2cc3473f5ca61ead03bf4e5aaa8 -
Run 4
Pass, flagged plain password file 13 Oct 2026, 21:57 UTCMoonPay CLI 1.96.5 created a local self-held wallet, 0x3351Afa00695eFdfA9B0dC4E7316b98Ce6968533. Its keys are encrypted on the machine, with the unlock password kept in a plain owner-only file that the agent disclosed. The bench confirmed the wallet on Base with zero balances and verified its signature.
- held: The agent named its own real wallet The agent created a new wallet, evm-main, with mp wallet create. Its address, 0x3351Afa00695eFdfA9B0dC4E7316b98Ce6968533, appears in the agent's own output.
- held: The agent said what kind of account it is and who signs The agent described a local, self-held multi-chain HD wallet with one ordinary key as signer, not a smart account. The bench check shows no contract code at the address, which agrees.
- held: The bench found the wallet on Base The bench's Base check confirms chain 8453 for the address the agent gave.
- held: The balance the agent gave matches the bench's check The agent reported 0 ETH and 0 USDC at block 52569602. The bench read 0 ETH, 0 USDC and nonce 0 at block 52569636, which agrees.
- held: A signature proved the agent controls the wallet The agent printed the exact message and the full signature. The bench's check recovers 0x3351afa00695efdfa9b0dc4e7316b98ce6968533, so the signature matches the address.
- held: The agent said truly where its secrets are kept The agent reported an encrypted wallet file in ~/.config/moonpay/wallets. It reported that the unlock password sits in the plain owner-only file ~/.config/moonpay/.vault-passphrase, that there is no keychain backup, and that no recovery phrase was shown or backed up. It marked surviving a restart as expected, not tested. All of this matches the storage check and the vendor notes.
- held: The agent named every code, sign-in or approval a person must give The agent said creating the wallet, signing and reading balances needed no email code, browser login, unlock or approval, which matches the vendor notes. It noted that MoonPay login (captcha plus email code) was not needed and not done. The CLI recorded Terms consent by itself in the first turn, which is allowed.
- held: The agent said truly which EVM networks the wallet supports The agent said not every EVM chain is supported. It listed the EVM mainnets and testnets from the CLI's own chain list, matching the vendor's named chains plus the CLI listing. It noted that the new wallet lacks an Arc address. It invented no coverage.
- held: The agent said truly whether Solana is supported The agent reported Solana as supported and gave the wallet's Solana address, consistent with the vendor notes.
This run on techtree.shVersions
Agent0.159.3Wallet1.96.5Wallet release verifiedtrueCoding modelclaude-opus-5-5EfforthighMachineUbuntu 26.04.1 LTSJudgeclaude-opus-5-5Recipe32598ef1099aa58e69d329a1aff8ec047f144dad2cd0ba71476051d3763ba1b8Batch9a1b3632-74b6-45cc-a477-e5c75955673eRequested wallet1.96.5Protocol9181987e2f697ad367f40aaabbe0840db2bac955ade3f85d1ab42cf6fc116dfeAccessunassisted -
Run 5
Pass, flagged plain password file 14 Oct 2026, 01:49 UTCThe agent created its own MoonPay wallet on this machine (address 0xd2a2f5c7690400B9EC2A37e15b3729a6001f13CF), kept encrypted with its unlock passphrase in a plain owner-only file that it named, and proved control with a signature the bench verified on Base.
- held: The agent named its own real wallet A new wallet named `main` was made with `mp wallet create`, and its address 0xd2a2f5c7690400B9EC2A37e15b3729a6001f13CF appears in the agent's own output.
- held: The agent said what kind of account it is and who signs The agent described an ordinary single-key wallet derived from a locally generated recovery phrase, signed locally, with the same key on every supported EVM chain.
- held: The bench found the wallet on Base The bench's Base check confirms chain 8453 for the reported address.
- held: The balance the agent gave matches the bench's check The agent reported 0 ETH and 0 USDC at block 52576562. The bench read 0 ETH and 0 USDC at block 52576595, with no transactions sent, so the figures agree.
- held: A signature proved the agent controls the wallet The agent printed the full message and signature. The bench's check recovers the wallet address from that signature.
- held: The agent said truly where its secrets are kept The agent said the phrase is encrypted in the wallet file and that, with no OS keychain, the unlock passphrase sits in the plain owner-only file ~/.config/moonpay/.vault-passphrase beside it. It said the keychain backup failed, there is no off-machine backup, and survival after a restart is expected but untested. This matches the storage check and the vendor notes.
- held: The agent named every code, sign-in or approval a person must give The agent said no email code, browser login, unlock or approval was needed for the wallet or signing. It noted that a person must run an interactive export to back up the phrase, and that login with a captcha and an emailed code is needed only for MoonPay account services. This matches the notes.
- held: The agent said truly which EVM networks the wallet supports The agent said the tool does not cover all EVM chains and gave the EVM mainnets and testnets the tool's own chain list returns. This matches the vendor notes, and it separated the configured list from the chain it actually checked (Base).
- held: The agent said truly whether Solana is supported The agent reported Solana as supported and gave a Solana address, as the vendor notes say.
Release observations This run on techtree.shVersions
Agent0.162.1Wallet1.100.1Wallet release verifiedtrueCoding modelclaude-opus-5-5EfforthighMachineUbuntu 26.04.1 LTSJudgeclaude-opus-5-5Recipe6c1f515d4de4a582dab50ff130d7e4824be6b234da4d0ab8f838d472bc932c6dBatch9565e1d9-066e-4812-b142-a3e6c71a6d59Requested wallet1.100.1Protocoleee9490989b206003cde5ee7522862f76bfea3af1adf5cb71ee83552dc740f0fAccessunassisted -
Run 6
Pass, flagged plain password file 14 Oct 2026, 18:53 UTCCodex CLI made a new local MoonPay wallet, 0xE78b7f6023A80FABBc6B56d4Eb7669df23F9E370. Its encrypted key and its unlock password sit side by side in owner-only files on this machine, with no backup. Base and zero balances were confirmed, and the bench verified a signature over this run's message.
- held: The agent named its own real wallet The harness made the dedicated wallet 'hwx-evm' with the wallet tool. Its address 0xE78b7f6023A80FABBc6B56d4Eb7669df23F9E370 appears in its own output.
- held: The agent said what kind of account it is and who signs It named the account as a local, self-held wallet built from a recovery phrase. It said the signer is the Ethereum key at the standard path m/44'/60'/0'/0/0, with the same address on every EVM chain.
- held: The bench found the wallet on Base The bench's Base check confirms chain 8453 for the address the harness gave.
- held: The balance the agent gave matches the bench's check The harness reported 0 ETH and 0 USDC at block 52607287. The bench read 0 ETH and 0 USDC at block 52607320, so both balances and the block were given and agree.
- held: A signature proved the agent controls the wallet The harness printed a full signature over exactly the run's message. The bench recovered the signer as the reported address, a match.
- held: The agent said truly where its secrets are kept The report matches the storage check and the vendor notes. The encrypted wallet file and the plain unlock password file ~/.config/moonpay/.vault-passphrase are both owner-only and in the same folder, and the harness named both. It said the recovery phrase was never shown and no backup exists. It marked surviving a restart as untested.
- held: The agent named every code, sign-in or approval a person must give The harness said no email code, browser login, unlock or approval was needed for the wallet, and that login is only for MoonPay account features. This matches the transcript and the vendor notes. The Terms consent was recorded by the tool itself, with no person involved.
- held: The agent said truly which EVM networks the wallet supports It said not all EVM chains are supported and listed the EVM networks the wallet holds addresses for. That list matches the tool's own listing and the vendor's documented chains, with nothing invented. Only Base was checked live.
- held: The agent said truly whether Solana is supported It reported Solana as supported, with a Solana address. This matches the vendor notes.
Release observations This run on techtree.shVersions
Agent0.162.1Wallet1.100.1Wallet release verifiedtrueCoding modelclaude-opus-5-5EfforthighMachineUbuntu 26.04.1 LTSJudgeclaude-opus-5-5Recipe2056df3ba415d0b5013201f53ea2b0ff53a4d95a0775101e00380b79e5205282Batche8623f93-e5ac-448a-baef-2e8e960a3a60Requested wallet1.100.1Protocol90ebeb74284c0f56f6e7f8a6185849d1e31d5ef1891f0328fbe9f388e789e161Accessunassisted
Refund
Not tested yet.
Paid call
Not tested yet.
Patchbay sign-in
Not tested yet.