Add margin to trade
/perp/isolated/trade/add-marginPrivateMove amount sats from your balance to the margin of a running trade. This lowers the trade leverage and moves its liquidation price away, decreasing risk. Returns the updated trade.
Permissions: futures:isolated:write
application/json- body
id*stringTrade ID
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidamount*integerAmount of margin to add
0 < valueinstrument*stringInstrument of the market
"inverse_perp""quanto_perp"pair*stringPair of the market
OK
application/json- response
A running trade
id*stringInternal trade ID
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidinstrument*stringInstrument of the market
"inverse_perp""quanto_perp"pair*stringPair of the market
type*stringTrade type
"market""limit"side*stringTrade side
"buy""sell"openingFee*integerFee paid when opening the position
closingFee*integerFee for closing the position (0 while running)
maintenanceMargin*integerMinimum margin required to keep the position open
quantity*numberNumber of contracts in the trade
entryNotionalUsd*numberNotional value at entry (in USD)
exitNotionalUsd*|Notional value at exit (in USD), null until the trade is closed
margin*integerCurrent margin for the position
leverage*numberLeverage multiplier applied to the position
price*numberPrice when the trade was filled (in USD)
liquidation*numberPrice at which the position will be liquidated (in USD)
stoploss*numberStop loss price level (0 if not set, in USD)
takeprofit*numberTake profit price level (0 if not set, in USD)
stoplossTrailingDistance*numberTrailing stop distance as a fraction of price (0 if not trailing)
exitPrice*|Price when exiting the position (0 while running, in USD)
pl*integerUnrealized profit and loss of the running position, valued at the Mark price
createdAt*stringTimestamp when the trade was created
date-timefilledAt*stringTimestamp when the trade was filled in the market
date-timeclosedAt*nullTimestamp when the trade was closed (null while running)
entryPrice*numberPrice when entering the position (in USD)
entryMargin*integerInitial margin when entering the position
entryBtcPrice*numberBitcoin price the sats amounts of the trade are valued at (in USD)
open*booleanWhether the trade is open (not yet filled)
running*booleanWhether the trade is running (filled but not closed)
canceled*booleanWhether the trade was canceled before being filled
closed*booleanWhether the trade is closed (position exited)
sumFundingFees*integerTotal funding fees accumulated for the position
sumQuantoAdjustmentFees*integerTotal quanto adjustment fees accumulated for the position
sumCashInPl*integerTotal amount cashed in from PL over the trade lifetime
sumCashInMargin*integerTotal amount cashed in from margin over the trade lifetime
clientId*|Optional custom data field (max 64 characters)
label*|Optional free label (max 64 characters) to group or tag trades, e.g. by strategy. Not unique.
nullimport { createHttpClient } from '@ln-markets/sdk/rest/v3'
const client = createHttpClient({
key: 'your-key',
secret: 'your-secret',
passphrase: 'your-passphrase',
})
const result = await client.perp.isolated.addMargin({
id: 'd0b9f9a0-4f6e-4a5a-8b7a-7f0f5f9a8a1e',
amount: 1000,
instrument: 'inverse_perp',
pair: 'btc_usd'
}){
"id": "d0b9f9a0-4f6e-4a5a-8b7a-7f0f5f9a8a1e",
"instrument": "inverse_perp",
"pair": "btc_usd",
"type": "market",
"side": "buy",
"openingFee": 10,
"closingFee": 0,
"maintenanceMargin": 1000,
"quantity": 100,
"entryNotionalUsd": 100,
"exitNotionalUsd": null,
"margin": 1000,
"leverage": 10,
"price": 20000,
"liquidation": 18000,
"stoploss": 10,
"takeprofit": 10,
"stoplossTrailingDistance": 0,
"exitPrice": 0,
"pl": 2,
"createdAt": "2025-09-01T15:04:21.129Z",
"filledAt": "2025-09-01T15:04:21.129Z",
"closedAt": null,
"entryPrice": 20000,
"entryMargin": 1000,
"entryBtcPrice": 100000,
"open": false,
"running": true,
"canceled": false,
"closed": false,
"sumFundingFees": 10,
"sumQuantoAdjustmentFees": 0,
"sumCashInPl": 0,
"sumCashInMargin": 0,
"clientId": "test-client-id-123",
"label": "strategy-a"
}Get candles GET
Get the candles (OHLC) of a perpetual market at the range resolution, 1 minute by default. Paginated, newest first. An unknown market, or one you have no…
Cancel all trades POST
Cancel all your open trades of a perpetual market. Returns the canceled trades, an empty list when there were none.