Skip to main content

An asynchronous fork of the official ByBit P2P API integration library written in Python.

Project description

async_bybit_p2p

An asynchronous fork of the official ByBit P2P API integration library written in Python.

pip package

async_bybit_p2p is an asynchronous fork of 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 modified by TokenatorObmenator / herbalsomml

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

async_bybit_p2p uses a number of projects and technologies to work:

  • aiohttp & aiofiles for HTTP request creation and processing
  • pycryptodome for HMAC and RSA operations

Installation

async_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 async-bybit-p2p

Usage

Upon installation, you can use async_bybit_p2p by importing it in your code:

from async_bybit_p2p import P2P

Here is a quickstart example to get some info from the exchange:

from async_bybit_p2p import P2P
import asyncio


async def main()
    api = P2P(
        testnet=True,
        api_key="x",
        api_secret="x"
    )

    # 1. Get current balance
    print(await api.get_current_balance(accountType="FUND", coin="USDC"))

    # 2. Get account information
    print(await api.get_account_information())

    # 3. Get ads list
    print(await api.get_ads_list())

    await api.close_session()

asyncio.run(main())

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: async_bybit_p2p quickstart.

Documentation

async_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:

async_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:

async_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:

async_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:

async_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

async_bybit_p2p-1.0.3.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

async_bybit_p2p-1.0.3-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file async_bybit_p2p-1.0.3.tar.gz.

File metadata

  • Download URL: async_bybit_p2p-1.0.3.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for async_bybit_p2p-1.0.3.tar.gz
Algorithm Hash digest
SHA256 a8ce5b8237ade29a2f7d90bc05cdcec021681035a9006834ef19e40876f579fc
MD5 2bef8b6a1f1a22685eb9329453de35dc
BLAKE2b-256 5d36465edb6abbbb06d73e5eeba9be23e145a2c4df1f279ef98040cf07ae6f0f

See more details on using hashes here.

File details

Details for the file async_bybit_p2p-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for async_bybit_p2p-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b6c35e0347c3075f3c3a506b3488c69e5f99ce3fc91d0ccc7a119e6406044c8d
MD5 cbc8f9dd9d0bc0a614a9143e507c389f
BLAKE2b-256 b931a42fa02255870ebd94d8f5d6f600098268c33bf94781e9775bbfb75b7c2a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page