WalletLabels is a powerful and user-friendly web app that simplifies searching and identifying Ethereum wallets with custom labels. The application provides an intuitive interface, allowing users to search for wallet addresses by name, label or address. Visit the live website at https://walletlabels.xyz.
Note: This project provides the frontend and backend (API handling) for WalletLabels but does not include the database containing wallet addresses and labels. Users will need to set up their own database when deploying a local version of this project.
- Search for wallet addresses by name, label type, or label subtype
- Displays wallet balance history in a graph
- Retrieves the last transaction for each address
- Responsive design for mobile and desktop devices
- Dark and light theme support
Below is an overview of the important files and folders in the WalletLabels project:
components/
: Contains reusable UI components and layout related components.hooks/
: Contains custom React hooks used in the project.lib/
: Contains utility functions and database related logic.pages/
: Contains the main pages of the application and their corresponding API endpoints.public/
: Contains public assets such as images and icons.styles/
: Contains global and module-specific stylesheets.tsconfig.json
: TypeScript configuration file.next.config.mjs
: Next.js configuration file.package.json
: Contains project dependencies and scripts.
To run WalletLabels locally, you need to have the following installed on your system:
- Node.js (v14 or later)
- npm (v6 or later)
- MongoDB
Additionally, you need to set up some environment variables:
MONGODB_URI
: The MongoDB connection URIDB_NAME
: The name of your MongoDB database
- Clone the repository
git clone https://github.com/your-username/walletlabels.git
- Change the current directory to the project folder
cd walletlabels
- Install the required dependencies
npm install
- Create a
.env.local
file in the project root and add your environment variables:
MONGODB_URI=your-mongodb-uri
DB_NAME=your-db-name
- Start the development server
npm run dev
- Open your browser, and navigate to http://localhost:3000
WalletLabels provides a single API endpoint to fetch labeled Ethereum wallet addresses based on a search query.
GET /api/query?query={query}&limit={limit}
query
: The search string to filter wallet addresses by name, label type, or label subtype. (required)limit
: The maximum number of results to return. Default is 20, and the maximum allowed value is 100. (optional)
GET /api/query?query=exchange&limit=10
This request will return up to 10 wallet addresses containing the word "exchange" in their name, label type, or label subtype.
To deploy WalletLabels, you can use any platform that supports Next.js applications, like Vercel or Netlify. Make sure to set your environment variables in your deployment platform.
If you would like to contribute to the project, please fork the repository, create a new branch, and submit a pull request with your changes.
WalletLabels is released under the MIT License. See the LICENSE file for more details.
If you have any questions or issues, please open an issue on the GitHub repository or contact one of the maintainers.