A dashboard for analyzing cryptocurrency addresses for risk factors, powered by the Webacy API.
- Analyze any Ethereum address for risk factors
- View detailed risk breakdown with severity scores
- See risk flags and recommendations
- Track fund flows and transaction history
- Overall risk score visualization
This application is for demonstration purposes only and is not suitable for production use.
For production environments:
- Implement a backend proxy to protect your API key
- Never expose API keys in frontend code
- Add rate limiting and additional security measures
-
Clone the repository
git clone https://github.com/yourusername/risk-intelligence-dashboard.git cd risk-intelligence-dashboard
-
Install dependencies
npm install
-
Create a
.env
file in the root directory and add your Webacy API key:VITE_WEBACY_API_KEY=your_api_key_here
-
Start the development server
npm run dev
- Sign up for an API key at Webacy Developers
- Create a
.env
file in the root directory of the project - Add your API key:
VITE_WEBACY_API_KEY=your_api_key_here
- Enter an Ethereum wallet address in the search bar
- Click "Analyze" to retrieve risk data
- View the overall risk score and detailed breakdown
- Check risk flags and recommendations
- Examine transaction history and fund flows
For security reasons, you should implement a backend proxy server to handle API requests rather than exposing your API key in the frontend code.
Example implementation with Node.js and Express:
const express = require('express');
const axios = require('axios');
require('dotenv').config();
const app = express();
const port = process.env.PORT || 3001;
const WEBACY_API_KEY = process.env.WEBACY_API_KEY;
// Middleware
app.use(express.json());
// Proxy endpoint
app.get('/api/address/:address', async (req, res) => {
try {
const { address } = req.params;
const response = await axios.get(`https://api.webacy.com/addresses/${address}`, {
headers: {
'accept': 'application/json',
'x-api-key': WEBACY_API_KEY,
},
});
res.json(response.data);
} catch (error) {
console.error('Error fetching address data:', error.message);
res.status(500).json({ error: 'Failed to fetch address data' });
}
});
// Start server
app.listen(port, () => {
console.log(`Server is running on port ${port
Then update the fetchAddressData
function in your React app to use this endpoint instead.
- Vite - Build tool and development server
- React - UI library
- TypeScript - Type safety
- Tailwind CSS - Styling
- Lucide React - Icons
- Webacy API - Risk data provider
MIT