An awesome bot to ensure fast and secure trades with a hundred percent transparency
View Demo
·
Report Bug
·
Request New Feature
In the world we live in now, business is mostly done on the internet and customers are more unwilling to buy products from sellers they do not trust or have no personal reference to. Knowing they could be mislead or scammed of their money with no trace for refunds.
This is a growing problem and my escrow Service Bot is aimed at eradicating the problem, thereby giving large trade group owners and sellers more business. And, also giving buyers the confidence to purchase goods without risk involved.
The Escrow Service Bot offers an automated service acting as an escrow platform, able to facilitate a completely save trade environment on which both the seller and buyer can thrive and do business happily.
All payments are being made directly to the respective parties, either through Bitcoin, Ethereum, Litecoin, Ripplecoin or Bitcoin Cash cryptocurrency which ofcourse is predefined by the seller's choice of local currency from the following:
- US Dollars (USD)
- Euros (EUR)
- British Pound (GBP)
- Canadian Dollar (CAD)
- Japanese Yen (JPY)
- The Swiss Franc (CHF)
With an affiliate program being part of the structure, administrators of different Telegram Group platforms are also able to use the escrow Service Bot in conducting save and fast business transactions within their groups smoothly, with each transaction being completed secured and easily traceable. Also, each registered group admin is entitled to a charge on every trade carried out by the group members.
- Group Administration (Software As A Service)
- Business Owners
- Freelancers
- Crypto-Traders
- Generally anybody with goods to sell and customers to buy
This section should list any frameworks/APIs used to build this project application.
- PyTelegramBotAPI to build the UI/UX feature for user interaction
- Flask serving the bot as a simple webhook application
- Heroku server for deployment
- Coinbase API to serve as payment gateway
This section covers how you can get the escrow Service Bot up and running locally with your own credentials in no time. All you need are the following.
Here is the list of needed dependencies to have available on your machine(PC)
- python > 3.6 - Goto link to download it
- pip
pip install --upgrade pip
-
Open the project's github page and star this project by tapping on the star button at the top right of the page.
-
Get a bot token key from @BotFather
-
Create a Coinbase account and retrieve your API information. This would be used to set up payment systems for your service bot instance.
-
Clone this repository
git clone https://github.com/Pycomet/escrow-service-bot.git
- Open the project directory
cd escrow-service-bot
- Create a virtual environment to install all the app dependencies
python -m venv env
// Enter into the virtual environment (Linux)
source env/bin/activate
- Install the dependencies
pip install -r requirements.txt
- Create a
.env
file to house all your credentials
// Bot token from @Botfather
TOKEN=""
// Coinbase API credentials
API_KEY=""
API_SECRET=""
// Your telegram user id
ADMIN_ID=""
// Database url (here would be based on your personal choice for your database)
DATABASE_URL=""
- Managing database changes with Alembic commands;
- Generated migration: alembic revision --autogenerate -m "initial"
- Applied migrations: alembic upgrade head
- You are ready to start the application
python main.py
ENJOY!
Please refer to this article to know more about this project and how the bot is used -> Documentation
See the open issues for a list of proposed features (and known issues). Here is the shortlisted prospects;
-
User account rating based on previous trades
-
Website to showcase more details information on the bot along with a dashboard to monitor trades (F.A.Q and more)
-
Add a button for canceling trades from the buyer's trade memo
-
Bot dashboard
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you are impressed with my project and wish to buy me a cup of coffee, you can donate to the project through any of the means below
- Bitcoin(BTC) -> 3Lr6duZ7ai4G8KpEqAmeiPSKTcUBt31iZ5
- Etherium(ETH) -> 0x56B7534EED80591033F63DD8D5dCaa3efAC4a92B
- Bitcoin Cash(BCH) -> qqqvhf966xhtv2ak4t9jpey5tq2f4v54dg0ezwdp5t
- Dodgecoin(DOGE) -> DHMy5s96gCx1vwGLQEsYHZeumPbjQzsWUJ
Thanks
Distributed under the MIT License. See LICENSE
for more information.