A full virtual cryptocurrency wallet system designed for Discord bots, games, or simulated trading environments. Supports balances, staking, trading, orders, friends, transactions, and more --- all backed by SQLite via Sequelize.
- Add/remove crypto from users
- Convert crypto → fiat (USD by default, configurable)
- Supports selected staking tokens (Solana, Ethereum, ZENZO, etc.)
- APY-based reward growth
- Tracks:
- staked
- earned rewards
- unstaked amounts
- Auto-updates earnings when checked or unstaked
- Swap one crypto → another using live price API
- Price conversion uses NekoGecko API (CoinGecko wrapper)
- Users can place:
- buy orders
- sell orders
- Automatic matching engine
- Locked balances for sell orders
- Partial and full order fills
- Add friends
- Friend requests
- Auto-decline pending requests after 1 hour
- Transfer crypto only to friends
Each transaction includes: -
type: send, receive, staked, unstaked, rewardStake - timestamps -
from/to fields - crypto + amount
npm install @nekosuneprojects/virtual-currency-walletOr clone your repo:
git clone https://github.com/NekoSuneProjects/virtual-currency-wallet
cd virtual-currency-wallet
npm installconst CryptoWallet = require("@nekosuneprojects/virtual-currency-wallet");
const wallet = new CryptoWallet();
(async () => {
await wallet.giveCrypto("123", "bitcoin", 0.01);
console.log(await wallet.getBalance("123", "bitcoin"));
console.log(await wallet.convertCryptoToFiat(0.01, "bitcoin"));
const tx = await wallet.getTransactions("123");
console.log(tx);
})();Uses Sequelize + SQLite with: - User - Balance - Transaction - Friend - FriendRequest - Stake - Order
Database files auto-sync on startup.
await wallet.stakeCrypto("123", "solana", 5, 0.10); // 10% APY stake
await wallet.unstakeCrypto("123", "solana");await wallet.swapCrypto("123", "bitcoin", "ethereum", 0.01);await wallet.placeOrder("123", "sell", "bitcoin/ethereum", 0.01, 30000);
await wallet.placeOrder("555", "buy", "bitcoin/ethereum", 0.01, 31000);Auto-matching triggers instantly.
{
"id": 1,
"type": "send",
"from": "123",
"to": "555",
"crypto": "bitcoin",
"amount": 0.01,
"time": "11/3/2025, 12:00 PM"
}✅ Discord bots ✅ Virtual economy systems ✅ Game integrations ✅ Crypto simulators ✅ Learning exchange & staking systems
MIT License
PRs are welcome!