Этот файл доступен на русском языке!
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
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.
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
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
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.
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.
All contributions are welcome.
MIT