Your browser is outdated. Some features might not work properly. Please update your browser for the best experience.

Superteam Earn
Copperx

66

AbhishekPratikYash

Telegram Bot for Copperx Payout 🤖 - Build with AI

by Copperx

|
|

🤖 Telegram Bot Bounty for Copperx Payout

📋 Overview

Copperx is building a stablecoin bank for individuals and businesses. We're seeking a talented developer to create a Telegram bot that integrates with Copperx Payout's API. This bot will enable users to deposit, withdraw, and transfer USDC directly through Telegram without visiting our web app.

🛠️ Technical Requirements

  • Built with TypeScript/Node.js and Cursor/ChatGPT/similar

  • Clean, maintainable code structure

  • Comprehensive Git history with meaningful commits

  • Strong type safety throughout the codebase

  • Proper error handling and user feedback

  • Secure handling of user credentials and sensitive information

  • Thorough documentation and setup instructions

📚 API Documentation

The complete API documentation is available at: https://income-api.copperx.io/api/doc

Please refer to this documentation for detailed information about request/response formats, authentication requirements, and available endpoints.

Our API docs are still very new, so if you’ve any questions, feel free to ping us at https://t.me/copperxcommunity/2991

✨ Core Features & API Integration

🔐 Authentication & Account Management

Features:

  • User login/authentication with Copperx credentials

  • View account profile and status

  • Check KYC/KYB approval status

API Endpoints:

  • Auth API: /api/auth/email-otp/request, /api/auth/email-otp/authenticate

  • User profile: /api/auth/me

  • KYC status: /api/kycs

Implementation Notes:

  • For KYC/KYB, redirect users to the platform if not approved

  • Store session tokens securely

  • Implement session refresh mechanism or session expiry handling

  • Auth APIs have rate limits

👛 Wallet Management

Features:

  • View all wallet balances across networks

  • Set default wallet for transactions

  • Allow users to deposit funds

  • View transaction history

API Endpoints:

  • Get wallets: /api/wallets

  • Get balances: /api/wallets/balances

  • Set default wallet: /api/wallets/default

  • Transaction history: /api/transfers

  • Default wallet: /api/wallets/default

💸 Fund Transfers

Features:

  • Send funds to email addresses

  • Send funds to external wallet addresses

  • Withdraw funds to bank accounts

  • View last 10 transactions

API Endpoints:

  • Email transfer: /api/transfers/send

  • Wallet transfer: /api/transfers/wallet-withdraw

  • Bank withdrawal: /api/transfers/offramp

  • Bulk transfers: /api/transfers/send-batch

  • Transfer listing: /api/transfers?page=1&limit=10

Implementation Notes:

  • Implement proper validation for recipient information

  • Display fee calculations before confirming transactions

  • Include confirmation steps for security

  • We understand that you're a new developer. If you're unable to withdraw to bank due to minimum amount then it's okay.

🔔 Deposit Notifications

Features:

API Endpoints:

  • Authentication: /api/notifications/auth (POST)

  • Pusher channels: private-org-${organizationId}

  • Use Pusher Key: e089376087cac1a62785

  • Use Pusher Cluster: ap1

  • Sample code for Pusher:

    // Initialize Pusher client with authentication
    const pusherClient = new Pusher(process.env.VITE_PUSHER_KEY, {
      cluster: process.env.VITE_PUSHER_CLUSTER,
      authorizer: (channel) => ({
        authorize: async (socketId, callback) => {
          try {
            const response = await axios.post('/api/notifications/auth', {
              socket_id: socketId,
              channel_name: channel.name
            }, {
              headers: {
                Authorization: `Bearer ${token}`
              }
            });
    
            if (response.data) {
              callback(null, response.data);
            } else {
              callback(new Error('Pusher authentication failed'), null);
            }
          } catch (error) {
            console.error('Pusher authorization error:', error);
            callback(error, null);
          }
        }
      })
    });
    
    // Subscribe to organization's private channel
    const channel = pusherClient.subscribe(`private-org-${organizationId}`);
    
    channel.bind('pusher:subscription_succeeded', () => {
      console.log('Successfully subscribed to private channel');
    });
    
    channel.bind('pusher:subscription_error', (error) => {
      console.error('Subscription error:', error);
    });
    
    // Bind to the deposit event
    pusherClient.bind('deposit', (data) => {
      bot.sendMessage(chatId,
        `💰 *New Deposit Received*\n\n` +
        `${data.amount} USDC deposited on Solana`
      );
    });

Implementation Notes:

  • Authenticate with the notification service using organization ID and token

  • Implement a Pusher client to subscribe to appropriate channels

  • Listen for event deposit

  • Format Telegram messages with relevant transaction details

💬 Bot Interaction Design

  • Implement intuitive command structure (/balance, /send, /withdraw, etc.)

  • Create interactive menus for complex operations

  • Develop inline keyboards for option selection

  • Include help commands and clear instructions

  • Support natural language queries where possible

  • Add link to Copperx support: https://t.me/copperxcommunity/2183

🔒 Security Considerations

  • Implement proper authentication flow

  • Never store plaintext passwords

  • Use secure session management

  • Provide options for additional security (transaction confirmations)

  • Follow Telegram Bot API best practices for security

📦 Deliverables

  1. Complete GitHub repository for the Telegram bot

  2. For testing the Username of your bot. (You can deploy bot at https://render.com/ for free)

  3. Comprehensive documentation:

    • Setup instructions

    • API integration details

    • Command reference

    • Troubleshooting guide

  4. Showcase your Bot on X and be proud <3 (optional)


For questions regarding this bounty, please contact our team in Telegram at https://t.me/copperxcommunity/2991.

SKILLS NEEDED

Backend

CONTACT

Reach outif you have any questions about this initialBounty

Comments Icon

20

Comments

Congratulations to all the winners 🎉🎉

avatar

Sponsor

4M ago

Applaud @jonathan for winning this Bounty

avatar

Submitted Hopefully something good happens

Whant to see more

needs to be 3-6k USDC mate. LOL

5M ago

Am a professional raidar and a bot boy

Est labore suscipit est asperiores deleniti possimus eum quia ea quidem qui in reprehenderit aut

avatar

I am interested in this project as a blockchain developer. TG : @hustledegen

Nice project