A tool to lookup Safe multisig wallets and their owners across multiple networks.
- Owner Lookup: Find all Safe multisigs where a given address is an owner
- Safe Lookup: Find all owners of a given Safe address with name mapping from address book
- Supports Ethereum, Polygon, Arbitrum, Optimism, BNB, Gnosis, and xLayer Chain networks
- Simple web interface with toggle between lookup modes
- CLI tool for command-line usage
- Node.js 18+
- npm or yarn
- Install dependencies:
npm install- Create a
.envfile in the root directory:
SAFE_API_KEY=your_api_key_here
- Run the CLI tool:
# Owner lookup - find all Safes owned by an address
npm run dev owner <wallet-address>
# Safe lookup - find all owners of a Safe address
npm run dev safe <safe-address>-
Push your code to GitHub
-
Import your repository to Vercel:
- Go to vercel.com
- Click "New Project"
- Import your GitHub repository
-
Configure Build Settings (IMPORTANT):
- Framework Preset: "Other" or leave as default
- Build Command: Leave EMPTY (no build needed for static files)
- Output Directory: Leave EMPTY (Vercel will auto-detect
public/folder) - Root Directory:
./(root)
-
Add Environment Variable:
- In your Vercel project settings, go to "Environment Variables"
- Add
SAFE_API_KEYwith your API key value - Make sure it's available for Production, Preview, and Development
-
Deploy:
- Vercel will automatically deploy when you push to your main branch
- Or click "Deploy" in the Vercel dashboard
Vercel automatically redeploys when you push changes to your connected Git repository:
- Make your changes (e.g., update
src/networks.tsto add/remove networks) - Commit and push to GitHub:
git add . git commit -m "Add new network" git push
- Vercel automatically detects the push and starts a new deployment
- Check the Vercel dashboard - you'll see the new deployment in progress
- Your changes go live once the deployment completes (usually 1-2 minutes)
If you need to manually trigger a redeployment:
- Go to your Vercel project dashboard
- Click on the "Deployments" tab
- Click the "..." menu on any deployment
- Select "Redeploy"
To add or modify networks:
-
Edit
src/networks.ts:export const SAFE_NETWORKS: Record<string, string> = { ethereum: "https://api.safe.global/tx-service/eth", polygon: "https://api.safe.global/tx-service/pol", // Add your new network here newNetwork: "https://api.safe.global/tx-service/new", };
-
The change will be picked up by both:
- CLI tool (
src/index.ts) - Web API (
api/lookup.ts)
- CLI tool (
-
Commit and push - Vercel will automatically redeploy with the new networks
src/- Source code for CLI toolapi/lookup.ts- Vercel serverless function for the web APIindex.html- Simple frontend interfacevercel.json- Vercel configuration
After deployment, visit your Vercel URL and enter a wallet address in the input field.
npm run dev 0x86CbBAEB08861D005fD2147A5123E43e558db167