Monitor Multi-Chain Wallets with FluxRail: A Developer's Guide
Learn how to monitor and manage multi-chain wallets using FluxRail's unified API. This guide covers chain listing, subscription management, webhooks, and wallet helpers with practical curl examples.
Introduction
Managing wallets across multiple blockchains is a nightmare. You have to watch dozens of addresses, handle different RPC endpoints, and build custom infrastructure for each chain. FluxRail solves this with a unified API that abstracts blockchain monitoring and wallet operations. In this guide, I'll show you how to use FluxRail's Core and Wallet services to monitor and manage multi-chain wallets with just a few HTTP requests.
Prerequisites
You'll need a FluxRail account and an API key. Use flux_test_... for sandbox testing. All requests go to https://api.fluxrail.io/api/v1 and require the header X-API-Key.
Listing Supported Chains
First, let's see which chains FluxRail supports. This is useful for dynamically building your monitoring setup.
curl -X GET https://api.fluxrail.io/api/v1/chains \
-H "X-API-Key: flux_test_xxx"
The response includes chain slugs like ethereum, polygon, solana, and more, with metadata like native currency and testnet availability.
Creating a Multi-Chain Subscription
To monitor a wallet address across multiple chains, create subscriptions. Each subscription watches a specific address on a specific chain. Use the bulk endpoint to create several at once.
curl -X POST https://api.fluxrail.io/api/v1/subscriptions/bulk \
-H "X-API-Key: flux_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriptions": [
{"chain":"ethereum", "address":"0x1234...", "webhook_url":"https://your-app.com/hooks/fluxrail"},
{"chain":"polygon", "address":"0x1234...", "webhook_url":"https://your-app.com/hooks/fluxrail"},
{"chain":"solana", "address":"7xKX...", "webhook_url":"https://your-app.com/hooks/fluxrail"}
]
}'
This returns a list of created subscriptions with IDs. You can also create a single subscription with POST /api/v1/subscriptions.
Managing Subscriptions
You can list all subscriptions, get stats, update, toggle, or delete them. For example, to pause monitoring a chain temporarily:
curl -X POST https://api.fluxrail.io/api/v1/subscriptions/{id}/toggle \
-H "X-API-Key: flux_test_xxx"
To update a webhook URL, use PATCH /api/v1/subscriptions/{id} with a JSON body.
Webhooks: Real-Time Alerts
FluxRail sends signed webhooks (HMAC SHA-256) to your endpoint when events occur. Set up a webhook endpoint first:
curl -X POST https://api.fluxrail.io/api/v1/webhooks \
-H "X-API-Key: flux_test_xxx" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-app.com/hooks/fluxrail", "events":["transaction.confirmed","token_transfer"]}'
Then, when a transaction happens on any monitored address, FluxRail POSTs a JSON payload to your URL. Verify the signature using the X-FluxRail-Signature header and your webhook secret.
Fetching Events
If you miss a webhook or want to backfill, query events directly:
curl -X GET https://api.fluxrail.io/api/v1/events?chain=ethereum&address=0x1234... \
-H "X-API-Key: flux_test_xxx"
You can filter by chain, address, event type, and date range. Use GET /api/v1/events/stats for a summary.
Wallet Helpers: Deriving Addresses
FluxRail provides stateless wallet utilities. For example, to derive a wallet address from a mnemonic:
curl -X POST https://api.fluxrail.io/api/v1/wallet/derive \
-H "X-API-Key: flux_test_xxx" \
-H "Content-Type: application/json" \
-d '{"mnemonic":"test test test ...", "path":"m/44\'/60\'/0\'/0/0", "chain":"ethereum"}'
This returns the address and public key. You can also generate a new mnemonic with POST /api/v1/wallet/mnemonic.
Putting It All Together
Here's a typical workflow:
- Call
GET /api/v1/chainsto know available chains. - Create subscriptions for each address/chain pair.
- Set up a webhook endpoint to receive events.
- Monitor
GET /api/v1/eventsfor missed events. - Use wallet helpers to manage keys and addresses.
Conclusion
FluxRail's Core and Wallet services let you monitor and manage wallets across 36+ chains with a single API. No SDKs, no complex infrastructure. Just HTTP calls. Start with the sandbox, test your integration, and go live. For full API details, check the docs.