Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FTX API Sample Code

License python-ftx-api Version python-ftx-api Python Versions python-ftx-api Downloads Per Day python-ftx-api Downloads Per Week python-ftx-api Downloads Per Month

FTX is a cryptocurrency derivatives exchange.

This is a wrapper around the FTX API as described on FTX, including all features the API provides using clear and readable objects, both for the REST as the websocket API.

An unofficial Python3 library to interact with FTX.COM and FTX.US

I am in no way affiliated with FTX, use at your own risk.

If you think something is broken, something is missing or have any questions, please open an Issue

Get Started and Documentation

If you're new to FTX, use the following link to save 5% on all of your trade fees.

Install

pip install python-ftx-api

Usage

If you are using an exchange from the US, or other TLD then make sure pass tld='us' when creating the client. Default tld='com'

Change your API KEY and your SECRET KEY.

Restful Api Sample Code

from pyftx import Client

API = "your-api-key"
SECRET = "your-secret-key"
subaccount_name = "your-subaccount_name"

client = Client(API, SECRET, subaccount=subaccount_name)
info = client.get_markets()
print(info)

Websocket Sample Code

from pyftx import ThreadedWebsocketManager


def on_read(event):
    print(event)


API = "your-api-key"
SECRET = "your-secret-key"
subaccount_name = "your-subaccount_name"

wsm = ThreadedWebsocketManager(API, SECRET, subaccount=subaccount_name)
wsm.start()

# Un-auth subscribe - Public Channels
name = 'market_connection'
wsm.start_socket(on_read, socket_name=name)
wsm.subscribe(name, channel="ticker", op="subscribe", market="ETH-PERP")

# Auth subscribe - [filled](https://docs.ftx.com/#fills-2)
name = 'private_connection'
wsm.start_socket(on_read, socket_name=name)
wsm.login(socket_name=name)
wsm.subscribe(
    name,
    channel="fills",
    op="subscribe",
)

# Auth subscribe -[orders](https://docs.ftx.com/#orders-2)
ws_type = 'private_connection'
wsm.start_socket(on_read, socket_name=ws_type)
wsm.login(socket_name=ws_type)
wsm.subscribe(
    ws_type,
    channel="orders",
    op="subscribe",
)

Websocket with arguments

from pyftx import ThreadedWebsocketManager
from functools import partial

API = "your-api-key"
SECRET = "your-secret-key"
subaccount_name = "your-subaccount_name"

def on_message(event, argument):
    msg = "{}.event: {}".format(argument, event)
    print("on message: ", msg)
wsm = ThreadedWebsocketManager(API, SECRET, subaccount=subaccount_name)
wsm.start()
# Un-auth subscribe - Public Channels
subaccount_name = "Cuongitl"
callback_with_arguments = partial(on_message, argument=subaccount_name)
name = 'market_connection'
wsm.start_socket(callback_with_arguments, socket_name=name)
wsm.subscribe(name, channel="ticker", op="subscribe", market="ETH-PERP")

Donate / Sponsor

I develop and maintain this package on my own for free in my spare time. Donations are greatly appreciated. If you prefer to donate any other currency please contact me.

  • BTC: 3LrqgdMbToh1mAD3sjhbv3oaEppXY7hkae

  • BTC: 0x329a9F2b01aDA25F15eAE4C633d3bed8442c7BC6 (BSC)

  • USDT: 0x329a9F2b01aDA25F15eAE4C633d3bed8442c7BC6 (BSC)

  • FTT: 0x329a9F2b01aDA25F15eAE4C633d3bed8442c7BC6 (ERC-20)

Communities

Release Notes

The release notes can be found here.

Contribution

  • Fork this repository.
  • Make pull requests with proper commit message.

About

An unofficial Python3 library to interact with FTX.COM and FTX.US. <Python FTX>

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages