πŸ‘‹ Getting Started#

🐀 Start#

🐀 101 Tutorial Resources

πŸ’¨ 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:

IamListening

πŸ’± 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

☁️ Deploy to cloud services#