The Copperx Payout Telegram Bot (CopperxPay) allows users to manage USDC transactions directly through Telegram without visiting the Copperx web app. The bot integrates with the Copperx Payout API to facilitate deposits, withdrawals, and transfers.
- Authentication & Account Management: Secure login with Copperx credentials and KYC status checks.
- Wallet Management: View balances, set default wallets, and check transaction history.
- Fund Transfers: Send funds to email addresses, wallet addresses, or bank accounts.
- Deposit Notifications: Real-time notifications for new deposits via Pusher.
- Interactive UI: Command-based interaction with inline keyboards and natural language support.
- Backend: TypeScript/Node.js
- API Integration: Copperx Payout API
- Real-time Notifications: Pusher
- Hosting: Render
backend/
│
├── build/ # Compiled production code
├── dist/ # Distribution folder
├── node_modules/ # Node.js dependencies
├── .env # Environment variables
├── .gitignore # Git ignore file
├── nodemon.json # Nodemon configuration
├── package.json # Node.js package configuration
├── package-lock.json # Lock file
├── tsconfig.json # TypeScript configuration
└── src/ # Main TypeScript code
- Clone the repository:
git clone https://github.com/your-repo/copperx-payout-bot.git
- Install dependencies:
npm install
- Create a
.env
file in the root folder and add your environment variables:
COPPERX_API_KEY=your_api_key
PUSHER_KEY=your_pusher_key
PUSHER_CLUSTER=ap1
TELEGRAM_BOT_TOKEN=your_telegram_token
- Run the bot in development mode:
npm run dev
/api/auth/email-otp/request
: Request OTP/api/auth/email-otp/authenticate
: Authenticate with OTP/api/auth/me
: User profile
/api/wallets
: Get wallets/api/wallets/balances
: Get balances/api/wallets/default
: Set default wallet/api/transfers
: Transaction history
/api/transfers/send
: Email transfer/api/transfers/wallet-withdraw
: Wallet transfer/api/transfers/offramp
: Bank withdrawal/api/transfers/send-batch
: Bulk transfers
/api/notifications/auth
: Authenticate for Pusher
- Secure handling of user credentials and sensitive information
- Proper error handling and user feedback
- Session management and token refresh mechanism
git push render master
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature-name
- Open a pull request.
MIT License