A simple way to connect your Python application to LN Markets
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 LNM_Python_API
Usage
You can import rest class from LNM_Python_API
from lnmarkets_python 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 LNM_REST_API() to enter your authentication keys and set the API url:
lnm = LNM_REST_API()
lnm.set_auth(api_key='copy your api key here', api_secret='copy your api secret here', passphrase='copy your passphrase here')
lnm.set_url(url = 'https://api.lnmarkets.com/v1')
REST API
futuresNewPosition
futuresGetPositions
futuresUpdatePosition
futuresAddMarginPosition
futuresCancelAllPositions
futuresCancelPosition
futuresCashinPosition
futuresCloseAllPosisitions
futuresClosePosition
futuresIndexHistory
futuresBidOfferHistory
futuresFixingHistory
futuresCarryFeesHistory
deposit
depositHistory
futuresHistory
getAnnouncements
getLeaderboard
getUser
apiState
nodeState
updateUser
withdraw
withdrawHistory
futuresNewPosition
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.futuresNewPosition({
type: 'm',
side: 's',
margin: 10000,
leverage: 25.5,
})
POST /futures
documentation for more details.
futuresGetPositions
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.futuresGetPositions({
type: 'running'
})
GET /futures
documentation for more details.
futuresUpdatePosition
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.futuresUpdatePosition({
pid: 'b87eef8a-52ab-2fea-1adc-c41fba870b0f',
type: 'stoploss',
value: 13290.5
})
PUT /futures
documentation for more details.
addMargin
Add more margin to an existing position.
amount:
type: Integer
required: true
pid:
type: String
required: true
Example:
lnm.addMargin({
amount: 20000,
pid: '249dc818-f8a5-4713-a3a3-8fe85f2e8969'
})
POST /futures/add-margin
documentation for more details.
futuresCancelAllPositions
Cancel all oponed (not running) positions for this user.
# No parameters
Example:
lnm.futuresCancelAllPositions()
DELETE /futures/all/cancel
documentation for more details.
futuresCancelPosition
Cancel a particular position for this user.
pid:
type: String
required: true
Example:
lnm.futuresCancelPosition({
pid: 'b87eef8a-52ab-2fea-1adc-c41fba870b0f'
})
POST /futures/cancel
documentation for more details.
futuresCashinPosition
Retrieve a part of the general PL of a running position.
amount:
type: Integer
required: true
pid:
type: String
required: true
Example:
lnm.futuresCashinPosition({
amount: 1000,
pid: "99c470e1-2e03-4486-a37f-1255e08178b1"
})
POST /futures/cash-in
documentation for more details.
futuresCloseAllPosisitions
Close all running position for this user.
# No parameters
Example:
lnm.futuresCloseAllPosisitions()
DELETE /futures/all/close
documentation for more details.
futuresClosePosition
Close a particular running position for this user.
pid:
type: String
required: true
Example:
lnm.futuresClosePosition({
pid: 'a2ca6172-1078-463d-ae3f-8733f36a9b0e'
})
DELETE /futures
documentation for more details.
futuresIndexHistory
Get index history data.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futuresIndexHistory({
limit: 20
})
GET /futures/history/index
documentation for more details.
futuresBidOfferHistory
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.futuresBidOfferHistory({
limit: 20
})
GET /futures/history/bid-offer
documentation for more details.
futuresFixingHistory
Get fixing data history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futuresFixingHistory({
limit: 20
})
GET /futures/history/fixing
documentation for more details.
futuresCarryFeesHistory
Get carry-fees history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
default: 100
Example:
lnm.futuresCarryFeesHistory({
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.
depositHistory
Retrieve deposit history for this user.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
Example:
lnm.depositHistory({
limit: 30
})
GET /user/deposit
documentation for more details.
getAnnouncements
Retrieve announcements made by LN Markets.
# No parameters
Example:
lnm.getAnnouncements()
GET /state/announcemenets
documentation for more details.
getLeaderboard
Queries the 10 users with the biggest positive PL.
# No parameters
Example:
lnm.getLeaderboard()
GET /futures/leaderboard
documentation for more details.
getUser
Retrieve user informations.
# No parameters
Example:
lnm.getUser()
GET /user
documentation for more details.
apiState
Retrieve informations related to LN Markets lnm.
# No parameters
Example:
lnm.apiState()
GET /state
documentation for more details.
nodeState
Show informations about LN Markets lightning node.
# No parameters
Example:
lnm.nodeState()
GET /state/node
documentation for more details.
updateUser
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.updateUser({
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.
withdrawHistory
Retrieve user withdraw history.
from:
type: Integer
required: false
to:
type: Integer
required: false
limit:
type: Integer
required: false
Example:
lnm.withdrawHistory({
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-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09e0b5126c15c1807fbb83ccd6be84fd2e0171bd7db5a2ed33c17d24b3953ba0 |
|
MD5 | 5483381cd7f6b8e817f2a07b616aa411 |
|
BLAKE2b-256 | aa4fc5c34c02f17501019a2fdb6376e2eaf222da19fab96987715660d2c85b61 |