A self-hosted Express.js API server for automated Solana token trading powered by the Fury Bot service.
It provides endpoints for buying and selling tokens with multi-wallet support, transaction bundling, and built-in security features.
- 💸 Token Trading – Buy and sell Solana tokens via Fury Bot API
- 👛 Multi-Wallet Support – Manage and trade from multiple wallets simultaneously
- 📦 Transaction Bundling – Batch transactions for better performance
- 🚦 Rate Limiting – Prevent API abuse with built-in throttling
- 🌐 CORS Enabled – Cross-origin requests supported
- 🛡️ Error Handling – Comprehensive logging and error management
git clone <repository-url>
cd selfhosted-api
npm install
Set environment variables in .env
or update server.js
:
FURY_API_URL
→ Fury Bot API endpoint (default:https://de.fury.bot
)FURY_API_KEY
→ Your Fury Bot API keyPORT
→ Server port (default:4444
)
npm start
The server will be available at:
👉 http://localhost:4444
Buy tokens with specified parameters.
Request body:
{
"tokenAddress": "string",
"amount": "number",
"walletPrivateKeys": ["string"],
"slippage": "number (optional, default: 10)",
"priorityFee": "number (optional)"
}
Sell tokens with specified parameters.
Request body:
{
"tokenAddress": "string",
"percentage": "number (1-100)",
"walletPrivateKeys": ["string"],
"slippage": "number (optional, default: 10)",
"priorityFee": "number (optional)"
}
- ⏱ Max 2 bundles per second
- 🔒 Automatic throttling when limits are exceeded
- Never commit private keys to version control
- Keep your Fury Bot API key secret
- Run only in a secure network environment
- Enforce access control in production
- express – Web framework
- cors – Cross-origin middleware
- @solana/web3.js – Solana SDK
- bs58 – Base58 encoder/decoder
npm run dev
npm test
Contributions are welcome!
- Fork the repo
- Create a feature branch
- Implement your changes
- Add tests if relevant
- Open a pull request
Licensed under the MIT License.
This software is for educational and development purposes only.
Use at your own risk and always test before real-world use.
For issues and questions, please open a GitHub Issue.