Python client for the Polymarket CLOB
Project description
py-clob-client
Python client for the Polymarket CLOB. Full API documentation can be found here.
Installation
pip install py-clob-client
Intended for use with Python 3.9
Requisites
Allowances
The correct token allowances must be set before orders can be placed. The following mainnet (Polygon) allowances should be set by the funding (maker) address. For testnet addresses and additional documentation please refer to the API documentation.
token(s) | spender | description |
---|---|---|
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 |
0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E |
allow the CTF Exchange contract to transfer user's usdc |
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 |
0xC5d563A36AE78145C45a50134d48A1215220f80a |
allow the Neg Risk CTF Exchange contract to transfer user's usdc |
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 |
0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296 |
allow the Neg Risk Adapter contract to transfer user's usdc |
0x4D97DCd97eC945f40cF65F87097ACe5EA0476045 |
0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E |
allow the CTF Exchange contract to transfer user's conditional tokens |
0x4D97DCd97eC945f40cF65F87097ACe5EA0476045 |
0xC5d563A36AE78145C45a50134d48A1215220f80a |
allow the Neg Risk CTF Exchange contract to transfer user's conditional tokens |
0x4D97DCd97eC945f40cF65F87097ACe5EA0476045 |
0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296 |
allow the Neg Risk Adapter contract to transfer user's conditional tokens |
See this gist for a an example of how to set these allowances for an account using python.
Usage
import os
from py_clob_client.constants import POLYGON
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs
from py_clob_client.order_builder.constants import BUY
host = "https://clob.polymarket.com"
key = os.getenv("PK")
chain_id = POLYGON
# Create CLOB client and get/set API credentials
client = ClobClient(host, key=key, chain_id=chain_id)
client.set_api_creds(client.create_or_derive_api_creds())
# Create and sign an order buying 100 YES tokens for 0.50c each
resp = client.create_and_post_order(OrderArgs(
price=0.50,
size=100.0,
side=BUY,
token_id="71321045679252212594626385532706912750332728571942532289631379312455583992563"
))
print(resp)
See examples for more.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
py_clob_client-0.17.2.tar.gz
(22.7 kB
view hashes)
Built Distribution
Close
Hashes for py_clob_client-0.17.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a18d25c7a4b5a870cdabd84db4be9599fe6d75fe6076aec7ceb6a586cbc8fb74 |
|
MD5 | 29cf32b909d2a27a2dc5f654b7fda692 |
|
BLAKE2b-256 | 033c42670704524f81522ea678146311dbf03e0a5cb65cfb91c8dba863060530 |