Skip to main content

LN Markets API Python SDK

Project description

LN Markets SDK v3

CI

This is the Python version of the LN Markets API SDK. It provides a client-based interface for interacting with the LN Markets API.

Usage

For public endpoints, you can just do this:

from lnmarkets_sdk.v3.http.client import LNMClient
import asyncio

async with LNMClient() as client:
  ticker = await client.futures.get_ticker()
  await asyncio.sleep(1)
  leaderboard = await client.futures.get_leaderboard()

Remember to sleep between requests, as the rate limit is 1 requests per second for public endpoints.

For endpoints that need authentication, you need to create an instance of the LNMClient class and provide your API credentials:

from lnmarkets_sdk.v3.http.client import APIAuthContext, APIClientConfig, LNMClient

config = APIClientConfig(
    authentication=APIAuthContext(
        key=your_key,
        secret=your_secret,
        passphrase=your_passphrase,
    ),
    network="mainnet",
    timeout=60.0,  # 60 second timeout (default is 30s)
    )

async with LNMClient(config) as client:
  account = await client.account.get_account()

For endpoints that requires input parameters, you can find the corresponding models in the lnmarkets_sdk.models module.

from lnmarkets_sdk.v3.http.client import APIAuthContext, APIClientConfig, LNMClient
from lnmarkets_sdk.v3.models.account import GetLightningDepositsParams

config = APIClientConfig(
    authentication=APIAuthContext(
        key=your_key,
        secret=your_secret,
        passphrase=your_passphrase,
    ),
    network="mainnet",
    timeout=60.0,  # 60 second timeout (default is 30s)
    )

async with LNMClient(config) as client:
    deposits = await client.account.get_lightning_deposits(
        GetLightningDepositsParams(limit=5)
    )

Check our example for more details.

Available Methods

🔒 = requires API credentials

# Ping
client.ping()

# Account 🔒
client.account.get_account()
client.account.get_bitcoin_address()
client.account.add_bitcoin_address()
client.account.deposit_lightning()
client.account.withdraw_lightning()
client.account.withdraw_internal()
client.account.withdraw_on_chain()
client.account.get_lightning_deposits()
client.account.get_lightning_withdrawals()
client.account.get_internal_deposits()
client.account.get_internal_withdrawals()
client.account.get_on_chain_deposits()
client.account.get_on_chain_withdrawals()

# Futures
client.futures.get_ticker()
client.futures.get_leaderboard()
client.futures.get_candles()
client.futures.get_funding_settlements()

# Futures Isolated 🔒
client.futures.isolated.new_trade()
client.futures.isolated.get_running_trades()
client.futures.isolated.get_open_trades()
client.futures.isolated.get_closed_trades()
client.futures.isolated.close()
client.futures.isolated.cancel()
client.futures.isolated.cancel_all()
client.futures.isolated.add_margin()
client.futures.isolated.cash_in()
client.futures.isolated.update_stoploss()
client.futures.isolated.update_takeprofit()
client.futures.isolated.get_funding_fees()

# Futures Cross 🔒
client.futures.cross.new_order()
client.futures.cross.get_position()
client.futures.cross.get_open_orders()
client.futures.cross.get_filled_orders()
client.futures.cross.close()
client.futures.cross.cancel()
client.futures.cross.cancel_all()
client.futures.cross.deposit()
client.futures.cross.withdraw()
client.futures.cross.set_leverage()
client.futures.cross.get_transfers()
client.futures.cross.get_funding_fees()

# Oracle
client.oracle.get_index()
client.oracle.get_last_price()

# Synthetic USD
client.synthetic_usd.get_best_price()
client.synthetic_usd.get_swaps()  # 🔒
client.synthetic_usd.new_swap()   # 🔒

API Reference

For full API documentation, see: LNM API v3 Documentation

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

lnmarkets_sdk-0.0.14.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

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

lnmarkets_sdk-0.0.14-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file lnmarkets_sdk-0.0.14.tar.gz.

File metadata

  • Download URL: lnmarkets_sdk-0.0.14.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for lnmarkets_sdk-0.0.14.tar.gz
Algorithm Hash digest
SHA256 4a32009e284a46f3a4a74b46f13404402bc0f5909b95f28241929487cee818eb
MD5 e2c1a860ffcd0221308d2c785eb591c0
BLAKE2b-256 d2c932f2f0c6d8fe25b044f5ba7de0bdba26441ee21e8367b70bbb6f5500d957

See more details on using hashes here.

File details

Details for the file lnmarkets_sdk-0.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for lnmarkets_sdk-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b83bb922ba4f71378decfb6bede570ba458b78a18618c16b35a3f62065cf5a1e
MD5 609dfaedbac577b21f2d66bfd658d491
BLAKE2b-256 0066d9611660889102f1027e7c4c36c59ab24035d023ed19a33afbfffd89136c

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