Skip to content

Crypto-fiat swap solution. A telegram bot that simulates cryptocurrency trading without real money. Attention was paid to detail, code is real-world ready.

Notifications You must be signed in to change notification settings

SilverbackOssi/Telegram_Crypto_Exchange_Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Crypto Exchange Simulation Bot

Development Documentation


The Telegram Crypto Exchange Bot is a Python-based exchange solution built to simulate seamless crypto-crypto and crypto-fiat swaps. It leverages APIs for real-time exchange rates and secure wallet functionality and provides an intuitive interface for Telegram users. Attention was paid to detail, code is real-world ready.


Features

  • Virtual Crypto Swaps: Support for virtual crypto-crypto and crypto-fiat transactions.
  • Wallet Integration: Secure user wallet for storing and transferring cryptocurrencies.
  • Real-Time Exchange Rates: Powered by the Coingecko API for accurate pricing.
  • User Notifications: Telegram bot sends transaction confirmations and updates.
  • Secure Authentication: Ensures only authorized users can access wallet features.
  • Off-market Coin Price: Get the value of lesser-known coins in other available coins.
  • Portfolio Management: Track and manage your cryptocurrency holdings.
  • Trade History: View the history of all your transactions.

🔧 Technology Stack

  • Programming Language: Python
  • Frameworks: Django, Django REST Framework
  • Bot Platform: Telegram Bot API
  • APIs: Coingecko API
  • Database: SQLite
  • Tools: Git, Postman, Docker

📂 Project Structure

The code uses Django models to define the Wallet and Transaction models, which represent the user's wallet and transaction records, respectively. The models are related to the User model, which stores user information such as the Telegram user ID and username.

The code also includes error handling mechanisms such as custom exceptions (InsufficientFundsError), input validation, and exception handling for API requests.

telegram-crypto-simulation-bot/
├── bot/                  # Telegram bot Django app
├── exchange/             # Exchange service Django app
├── wallet/               # Wallet management Django app
├── telegram_bot_sim/     # Main Django project
├── management/           # Custom management commands
├── templates/            # Templates for bot interactions
├── models.py             # Database models
├── manage.py             # Django management script
├── service.py            # Exchange service functions
|── utils.py              # Helper functions
├── requirements.txt      # Python dependencies
└── README.md             # Project documentation


🔄 Core Functionalities

1. Crypto Swaps

  • Input: User selects the type of swap (crypto-crypto or crypto-fiat) and provides transaction details.
  • Process:
    • Fetches real-time rates -- API.
    • Calculates the equivalent amount and initiates the swap.
  • Output: Confirmation message with transaction details.

2. Wallet Management

  • Features:
    • Check balances.
    • Deposit/Withdraw cryptocurrencies.
    • View transaction history.
  • Security: Uses encrypted storage for sensitive wallet data.

3. User Notifications

  • Sends updates for:
    • Transaction statuses.
    • Daily/weekly balance summaries.
    • Promotional updates or new features.

Telegram Bot API

  • Core Features:
    • Handle user messages and commands.
    • Send interactive messages with inline keyboards.

Usage

Start trading crypto with virtual money by interacting with the bot on Telegram. The bot would be available @CryptoExchangeSolutionBot when hosted


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


📩 Contact

About

Crypto-fiat swap solution. A telegram bot that simulates cryptocurrency trading without real money. Attention was paid to detail, code is real-world ready.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages