Skip to content

pillarwallet/agent-px

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,090 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PillarX

PillarX is a browser-based web3 wallet and app hub. The current wallet flow is built around a browser extension, phone OTP login, and an EOA-delegation account model for EIP-7702 transactions.

Building a PillarX app? See src/apps/README.md.

Caution

App submissions must not render iframe tags.

Getting Started

  1. Install dependencies:
npm install
  1. Copy the example environment file:
cp .env.example .env
  1. Fill in any project-specific values in .env. The most commonly needed values are:
VITE_ETHERSPOT_BUNDLER_API_KEY=...
VITE_ALCHEMY_API_KEY=...
VITE_USE_TESTNETS=true
VITE_REOWN_PROJECT_ID=...
VITE_PAYMASTER_URL=...
VITE_PULSE_NODE_URL=...
VITE_ONRAMP_JWT_URL=...

VITE_USE_TESTNETS=true enables testnet-aware behavior while still allowing the app to show supported mainnet portfolio data where applicable.

Local Web App

Run the Vite dev server:

npm run dev

The app is served over HTTPS by Vite. Open the local URL printed by Vite, usually:

https://localhost:5173

The login flow is available at:

https://localhost:5173/login

Browser Extension

Build the Manifest V3 extension:

npm run build:extension

Load it in Chrome:

  1. Open chrome://extensions.
  2. Enable Developer mode.
  3. Click Load unpacked.
  4. Select the build-extension directory.
  5. Pin the PillarX extension and open the popup.

The extension build emits:

  • popup entry: extension/popup.html
  • side panel entry: extension/sidepanel.html
  • options entry: extension/options.html
  • background service worker: src/extension/background.ts

Current Wallet Model

  • Authentication uses the phone OTP flow and local wallet vault.
  • The app currently targets a single account mode: EOA delegation.
  • Send flows use the native viem-based transaction client.
  • Etherspot bundler access should use VITE_ETHERSPOT_BUNDLER_API_KEY.
  • Dapp transaction approvals can show Alchemy asset-change simulations when VITE_ALCHEMY_API_KEY is configured.
  • Portfolio and graph data are cached locally and refreshed in the background. Manual refresh still shows loading UI so users can see the refresh is happening.

Useful Commands

npm run dev
npm run build
npm run build:extension
npm run lint
npm run test

For extension work, run npm run build:extension before reloading the unpacked extension in Chrome.

Troubleshooting

If bundler or transaction requests hit rate limits, configure your own Etherspot Bundler API key from the Etherspot Portal.

If the extension popup appears stale after changes, rebuild with npm run build:extension, then reload the unpacked extension from chrome://extensions.

If local HTTPS warnings appear, accept the local development certificate warning generated by Vite's SSL plugin.

Support

Reach the PillarX team on Discord or Telegram.

About

Repository for the PillarX project

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 94.9%
  • JavaScript 4.3%
  • Other 0.8%