Official Bybit P2P API integration library written in Python.
Project description
bybit_p2p
Bybit P2P API integration library written in Python
Этот файл доступен на русском языке!
bybit_p2p is the official Python SDK for Bybit's P2P API, enabling seamless integration of your software solutions with Bybit's P2P trading platform.
- No need to implement signature (HMAC, RSA) logic yourself
- Easy & quick to work with
- Actively developed and maintained
originally developed by kolya5544
Features
bybit_p2p currently implements all methods available for P2P API. The library is in active development, so any newly released features will be added almost immediately. Here is a short list of what the library can do:
- Create, edit, delete, activate advertisements
- Get pending orders, mark orders as paid, release assets to the buyer
- Get and send text messages, upload files and send files to the chat
- Get all public advertisements for tokens
- ...and so much more! 🌟
All features are usually one method call away and do not require advanced API understanding to interact with.
Tech
bybit_p2p uses a number of projects and technologies to work:
requests&requests_toolbeltfor HTTP request creation and processing, as well as multiform data requestsPyCryptofor HMAC and RSA operations
Installation
bybit_p2p was tested on Python 3.11, but should work on all higher versions as well. The module can be installed manually or via PyPI with pip:
pip install bybit-p2p
Usage
Upon installation, you can use bybit_p2p by importing it in your code:
from bybit_p2p import P2P
Here is a quickstart example to get some info from the exchange:
from bybit_p2p import P2P
api = P2P(
testnet=True,
api_key="x",
api_secret="x"
)
# 1. Get current balance
print(api.get_current_balance(accountType="FUND", coin="USDC"))
# 2. Get account information
print(api.get_account_information())
# 3. Get ads list
print(api.get_ads_list())
P2P() class is used for P2P API interactions. Here, testnet refers to environment. For Mainnet (https://bybit.com/), you shall use testnet=False. For Testnet (https://testnet.bybit.com/), use testnet=True instead.
RSA users should also set rsa=True in the constructor. TR/KZ/NL/etc. users can manipulate domain and tld parameters, like tld="kz".
You can find the complete Quickstart example here: bybit_p2p quickstart.
Documentation
bybit_p2p library currently consists of just one module, which is used for direct REST API requests to Bybit P2P API.
You can access P2P API documentation using this link: P2P API documentation
Here is a breakdown of how API methods correspond to appropriate bybit_p2p methods:
Advertisements:
| bybit_p2p method name | P2P API method name | P2P API endpoint path |
|---|---|---|
| get_online_ads() | Get Ads | /v5/p2p/item/online |
| post_new_ad() | Post Ad | /v5/p2p/item/create |
| remove_ad() | Remove Ad | /v5/p2p/item/cancel |
| update_ad() | Update / Relist Ad | /v5/p2p/item/update |
| get_ads_list() | Get My Ads | /v5/p2p/item/personal/list |
| get_ad_details() | Get My Ad Details | /v5/p2p/item/info |
Orders:
| bybit_p2p method name | P2P API method name | P2P API endpoint path |
|---|---|---|
| get_orders() | Get All Orders | /v5/p2p/order/simplifyList |
| get_order_details() | Get Order Details | /v5/p2p/order/info |
| get_pending_orders() | Get Pending Orders | /v5/p2p/order/pending/simplifyList |
| mark_as_paid() | Mark Order as Paid | /v5/p2p/order/pay |
| release_assets() | Release Assets | /v5/p2p/order/finish |
| send_chat_message() | Send Chat Message | /v5/p2p/order/message/send |
| upload_chat_file() | Upload Chat File | /v5/p2p/oss/upload_file |
| get_chat_messages() | Get Chat Message | /v5/p2p/order/message/listpage |
User:
| bybit_p2p method name | P2P API method name | P2P API endpoint path |
|---|---|---|
| get_account_information() | Get Account Information | /v5/p2p/user/personal/info |
| get_counterparty_info() | Get Counterparty User Info | /v5/p2p/user/order/personal/info |
| get_user_payment_types() | Get User Payment | /v5/p2p/user/payment/list |
Misc:
| bybit_p2p method name | P2P API method name | P2P API endpoint path |
|---|---|---|
| get_current_balance() | Get Coin Balance | /v5/asset/transfer/query-account-coins-balance |
More methods will come soon, allowing for more advanced operations.
Development
All contributions are welcome.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bybit_p2p-1.3.0.tar.gz.
File metadata
- Download URL: bybit_p2p-1.3.0.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
107429a460683f187820d13829d0ee4f5267cde1b682e3b01a78d13373f05405
|
|
| MD5 |
91a9451fd64deca82190c02d6fe3b1b1
|
|
| BLAKE2b-256 |
02e1e578dd97e93fefe9fc320afccfd26835ee40d6d0d3a74a2162c4fb6a443f
|
File details
Details for the file bybit_p2p-1.3.0-py3-none-any.whl.
File metadata
- Download URL: bybit_p2p-1.3.0-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45b76f12de732c2ab3d1434cc998a8874b70323d67ea4cab06515809e6990799
|
|
| MD5 |
0697377470fb6c633f83d196c8501eab
|
|
| BLAKE2b-256 |
0dc4fbb27cb648be679ed8a8d84850ffebed0b2e0ea792aaa40d4c8737537ae1
|