Remote Control of EOA wallets allow 3rd parties to script and manage wallets on your behalf without ever exposing private keys.
The project was born out of a need to have more flexible tools that enable 3rd party developers to script tasks on wallets owned by a 3rd party who does not want to give out those private keys. We firstly build the tool to be a middleware for ethers.js and web3.py such that normal scripts can run on remote wallets but then expanded it to also enable non technical team members to assist in wallet management by recording transactions in the browser and then replaying them over their selected set of remote wallets.
The repo has 3 packages the remoteWallet, snap browser plug & account manager web app. The Remote Wallet is a node package using ethers.js to parse transactions, find the best RPC, sign and send them to the blockchain. It communicates with the account manager via XMTP which allows us to not expose the server IP where the private keys are located and also requiring no network configuration. XMTP also takes care of the sometimes tricky E2EE and the very important authentication of the account manager. The remote wallet has a local config defining which account managers have rights to remote sign transactions and hence also which XMTP conversations to listen to.
The Snap is a metamask plugin which makes it easy for a non technical person to record desired transactions by simply using any DAPP's web UI while recording is turned on.
The account manager web app is also primarily for non technical users to organize their sequences of transactions and schedule these to be executed under their selected set of remote control EOA wallets.