π Getting Started#
π€ Start#
π¨ Quick Setup#
Note
First time, use a testnet account and create a sandbox account on Binance https://testnet.binance.org/. You can copy/paste the below for quick start using discord platform. You will need to replace the values with your own. You might need to add test tokens in your dex wallet via https://faucetlink.to/goerli
Copy the content to settings.toml
- # TELEGRAM BOT on CEX Binance
[default.platform.main] bot_token = β121212121β bot_channel_id = β-1122121β bot_api_id = β1212912β bot_api_hash = β121212121β apprise_url = βtgram:/121221/-11211212121β [default.cex.binance] name =βbinanceβ api_key= ββ secret = ββ password = ββ testmode = true defaulttype = βspotβ ordertype = βmarketβ trading_risk_percentage = true trading_risk_amount = 1 trading_slippage = 2 trading_asset = βUSDTβ trading_asset_separator = ββ mapping = [ { id = βBTCβ, alt = βBTCUSDTβ }, ]
π¬ Chat Platform Credentials#
Create your channel/room and your platform bot:
π± Exchange Credentials#
Get your DEX or CEX credentials:
βοΈ Setup your config#
Create your config file settings.toml or use env variables. Refer to βοΈ Config for details.
Warning
Use a testnet account or USE AT YOUR OWN RISK. Never share your private keys or API secrets.
Never use your main account for automatic trade.
########################################
### EXAMPLE SETTINGS ###
#######################################
# [default]
# loglevel = "INFO"
# ui_enabled = false
# DISCORD BOT on ethereum chain using
# uniswap v2 router
#[default.platform.main]
# bot_token = '12122121'
# bot_channel_id = '1221212'
# apprise_url = 'discord://12121/121212'
# [default.dex.uniswap]
# wallet_address = ""
# private_key = ""
# rpc = "https://rpc.ankr.com/eth"
# protocol = "uniswap"
# protocol_version = 2
# api_endpoint = ""
# api_key = ""
# router_contract_addr = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"
# factory_contract_addr = "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"
# trading_risk_percentage = true
# trading_risk_amount = 10
# trading_slippage = 2
# trading_asset_address = "0xdAC17F958D2ee523a2206206994597C13D831ec7"
# trading_asset_separator = ""
# block_explorer_url = "https://api.etherscan.com/api?"
# block_explorer_api = ""
# mapping = [
# { id = "BTC", alt = "WBTC" },
# ]
# TELEGRAM BOT on CEX Binance
#[default.platform.main]
# bot_token = '121212121'
# bot_channel_id = '-1122121'
# bot_api_id = '1212912'
# bot_api_hash = '121212121'
# apprise_url = 'tgram://121221/-11211212121'
# [default.cex.binance]
# name ="binance"
# api_key= ''
# secret = ''
# password = ""
# testmode = true
# defaulttype = "spot"
# ordertype = "market"
# trading_risk_percentage = true
# trading_risk_amount = 4
# trading_slippage = 2
# trading_asset = "USDT"
# trading_asset_separator = ""
# mapping = [
# { id = "BTC", alt = "BTCUSDT" },
# ]
#DISCORD BOT on BSC chain using pancakeswap v2 router
#[default.platform.main]
# bot_token = '1212121212121'
# bot_channel_id = '121212121212'
# apprise_url = 'discord://121121/1212212'
# [default.dex.pancake]
# wallet_address = ""
# private_key = ""
# rpc = "https://rpc.ankr.com/bsc"
# protocol = "uniswap"
# protocol_version = 2
# api_endpoint = ""
# api_key = ""
# router_contract_addr = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"
# factory_contract_addr = "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73"
# trading_risk_percentage = true
# trading_risk_amount = 10
# trading_slippage = 2
# trading_asset_address = "0x55d398326f99059ff775485246999027b3197955"
# trading_asset_separator = ""
# block_explorer_url = "https://api.bscscan.com/api?"
# block_explorer_api = ""
# mapping = [
# { id = "BTC", alt = "BTCB" },
# ]
#MATRIX BOT on Polygon chain using zerox protocol
#[default]
# bot_token = '12122121'
# bot_channel_id = '12121212'
# bot_hostname='matrix.org'
# bot_user='itsme'
# bot_pass='mario'
# apprise_url = 'discord://1212121/1211212'
# [default.dex.polygon]
# wallet_address = ""
# private_key = ""
# rpc = "https://polygon.llamarpc.com"
# protocol = "0x"
# protocol_version = 4
# api_endpoint = "https://polygon.api.0x.org"
# api_key = ""
# router_contract_addr = "0xdef1c0ded9bec7f1a1670819833240f027b25eff"
# factory_contract_addr = "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"
# trading_risk_percentage = true
# trading_risk_amount = 10
# trading_slippage = 2
# trading_asset_address = "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
# trading_asset_separator = ""
# block_explorer_url = "https://api.polygonscan.com/api?"
# block_explorer_api = ""
# mapping = [
# { id = "BTC", alt = "WBTC" },
# ]
π Deployment#
There are two ways you can run TalkyTrader in a production environment. The recommended method is using docker. We also support a traditional deployment method without docker. Read below to see how to get each method set up.
π³ Docker#
docker pull mraniki/tt:latest
or
docker pull ghcr.io/mraniki/tt:latest
π Local#
git clone https://github.com/mraniki/tt:main
pip install -r .requirements/requirements.txt
then start your bot:
python3 app.py