LN Markets REST API python implementation
Project description
LN Markets Python API
A simple way to connect your Python application to LN Markets!
Install
You can install this package with pip:
pip install ln-markets
Usage
You can import rest class from ln_markets
from lnmarkets import rest
Authentication
For authentication you need your api key secret and passphrase
Without you will not bet able to authenticate
:warning: Never share your API Key, Secret or Passphrase
Configuration
Use the LNMarketsRest and your key / passphrase to instanciate a new api connector:
options = {'key': 'your_api_key',
'secret': 'your_api_secret',
'passphrase': 'your_api_passphrase'}
lnm = rest.LNMarketsRest(**options)
lnm.futures_get_ticker()
REST API
futures_new_position
futures_get_positions
futures_update_position
futures_add_margin_position
futures_cancel_all_positions
futures_cancel_position
futures_cashin_position
futures_close_all_positions
futures_close_position
futures_index_history
futures_bid_offer_history
futures_fixing_history
futures_carry_fees_history
deposit
deposit_history
futures_history
get_announcements
get_leaderboard
get_user
api_state
node_state
update_user
withdraw
withdraw_history
futures_new_position
Open a new position on the market.
type:
type: String
required: true
enum: ['l', 'm']
side:
type: String
required: true
enum: ['b', 's']
margin:
type: Integer
required: false
leverage:
type: Float
required: true
quantity:
type: Integer
required: false
takeprofit:
type: Integer
required: false
stoploss:
type: Integer
required: false
price:
type: Float
required: false
Example:
lnm.futures_new_position({
'type': 'm',
'side': 's',
'margin': 10000,
'leverage': 25.5,
})
POST /futures
documentation for more details.
futures_get_positions
Retrieve all or a part of user positions.
type:
type: String
required: true
enum: ['open', 'running', 'closed']
default: 'open'
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futures_get_positions({
'type': 'running'
})
GET /futures
documentation for more details.
futures_update_position
Modify stoploss or takeprofit parameter of an existing position.
pid:
type: String
required: true
type:
type: String
required: true
enum: ['takeprofit', 'stoploss']
value:
type: Float
required: true
Example:
lnm.futures_update_position({
'pid': 'b87eef8a-52ab-2fea-1adc-c41fba870b0f',
'type': 'stoploss',
'value': 13290.5
})
PUT /futures
documentation for more details.
add_margin
Add more margin to an existing position.
amount:
type: Integer
required: true
pid:
type: String
required: true
Example:
lnm.add_margin({
'amount': 20000,
'pid': '249dc818-f8a5-4713-a3a3-8fe85f2e8969'
})
POST /futures/add-margin
documentation for more details.
futures_cancel_all_positions
Cancel all oponed (not running) positions for this user.
# No parameters
Example:
lnm.futures_cancel_all_positions()
DELETE /futures/all/cancel
documentation for more details.
futures_cancel_position
Cancel a particular position for this user.
pid:
type: String
required: true
Example:
lnm.futures_cancel_position({
'pid': 'b87eef8a-52ab-2fea-1adc-c41fba870b0f'
})
POST /futures/cancel
documentation for more details.
futures_cashin_position
Retrieve a part of the general PL of a running position.
amount:
type: Integer
required: true
pid:
type: String
required: true
Example:
lnm.futures_cashin_position({
'amount': 1000,
'pid': "99c470e1-2e03-4486-a37f-1255e08178b1"
})
POST /futures/cash-in
documentation for more details.
futures_close_all_posisitions
Close all running position for this user.
# No parameters
Example:
lnm.futures_close_all_positions()
DELETE /futures/all/close
documentation for more details.
futures_close_position
Close a particular running position for this user.
pid:
type: String
required: true
Example:
lnm.futures_close_position({
'pid': 'a2ca6172-1078-463d-ae3f-8733f36a9b0e'
})
DELETE /futures
documentation for more details.
futures_index_history
Get index history data.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futures_index_history({
'limit': 20
})
GET /futures/history/index
documentation for more details.
futures_bid_offer_history
Get bid and offer data over time.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit: Integer
required: false
default: 100
Example:
lnm.futures_bid_offer_history({
'limit': 20
})
GET /futures/history/bid-offer
documentation for more details.
futures_fixing_history
Get fixing data history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futures_fixing_history({
'limit': 20
})
GET /futures/history/fixing
documentation for more details.
futures_carry_fees_history
Get carry-fees history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futures_carry_fees_history({
'limit': 20
})
GET /futures/carry-fees
documentation for more details.
deposit
Add funds to your LN Markets balance.
amount:
type: Integer
required: true
unit:
type: String
required: false
default: 'sat'
Example:
lnm.deposit({
'amount': 25000
})
POST /user/deposit
documentation for more details.
deposit_history
Retrieve deposit history for this user.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
Example:
lnm.deposit_history({
'limit': 30
})
GET /user/deposit
documentation for more details.
get_announcements
Retrieve announcements made by LN Markets.
# No parameters
Example:
lnm.get_announcements()
GET /state/announcemenets
documentation for more details.
get_leaderboard
Queries the 10 users with the biggest positive PL.
# No parameters
Example:
lnm.get_leaderboard()
GET /futures/leaderboard
documentation for more details.
get_user
Retrieve user informations.
# No parameters
Example:
lnm.getUser()
GET /user
documentation for more details.
node_state
Show informations about LN Markets lightning node.
# No parameters
Example:
lnm.node_state()
GET /state/node
documentation for more details.
update_user
Modify user account parameters.
show_leaderboard:
type: Boolean
required: false
show_username:
type: Boolean
required: false
username:
type: String
required: false
email:
type: String
required: false
resend_email:
type: Boolean
required: false
Example:
lnm.update_user({
'show_username': True,
'show_leaderboard': True,
'username': 'API-Connector',
})
PUT /user
documentation for more details.
withdraw
Move funds from LN Markets to your wallet via BOLT11 invoice.
amount:
type: Integer
required: true
unit:
type: String
required: false
default: 'sat'
invoice:
type: String
required: true
Example:
lnm.withdraw({
'amount': 1000,
'invoice': 'lntb100u1p0jr0ykpp5ldx3un8ym6z0uwjxd083mp2rcr04d2dv0fkx729ajs62pq9pfjqqdql23jhxapdwa5hg6rywfshwttjda6hgegcqzpgxq92fjuqsp5m6q0fzynu2qr624mzjc285duurhccmkfg94mcdctc0p9s7qkrq8q9qy9qsqp862cjznpey5r76e7amhlpmhwn2c7xvke59srhv0xf75m4ksjm4hzn8y9xy0zs5ec6gxmsr8gj4q23w8ped32llscjcneyjz2afeapqpu4gamz'
})
POST /user/withdraw
documentation for more details.
withdraw_history
Retrieve user withdraw history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
Example:
lnm.withdraw_history({
'limit': 25
})
GET /user/withdraw
documentation for more details.
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
Built Distribution
Hashes for ln_markets-1.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02004a7333b6e6266b4d721687e6cca08d54a97fa6e38e8ee829f3f1bd2b05dc |
|
MD5 | 1b4cd711872ced4cd97d14c486b4bf1e |
|
BLAKE2b-256 | f6cf74fc9f6312ad6f348b0ea90ecb63c5f1e193a6e08c6caab168c8cd199a21 |