POST
/
api
/
v0
/
lend
/
borrow
/
{vaultId}
/
deposit
Borrow Deposit
curl --request POST \
  --url https://jupiter.dial.to/api/v0/lend/borrow/{vaultId}/deposit \
  --header 'Content-Type: application/json' \
  --data '{
  "account": "6JpNV6DK88auwzKVizdeT4Bw3D44sam5GqjcPCJ7y176"
}'
{
  "type": "<string>",
  "transaction": "<string>"
}

Position Management

Important: This endpoint behaves differently based on the position ID parameter:
  • With Position ID: Deposits into the specified existing position
  • Without Position ID: Creates a new position (does NOT auto-reuse empty positions)
To use an existing position, first fetch the user’s positions and provide the position ID. To create a new position, simply leave the position ID parameter empty.
This is for Jupiter Borrow (collateralized lending positions). For non-collateralized lending, use the Jupiter Earn endpoints.

Path Parameters

vaultId
string
default:1
required

Vault ID to interact with.

Example:

"1"

Query Parameters

positionId
string

Optional position ID to deposit into. If provided, deposits into the existing position. If not provided, creates a new position. Note: We do NOT auto-reuse empty positions like Jupiter's frontend does.

Example:

"HfU5n6zHmHtJjR4e2vKBkw8TpnSfEjMqKpMa1Qy5Qwmv"

amount
number
default:0.1

Amount to deposit.

Required range: x >= 0
Example:

0.1

percentage
number

Percentage to deposit (0-100). Takes priority over amount.

Required range: 0 <= x <= 100
Example:

50

Body

application/json
account
string
default:6JpNV6DK88auwzKVizdeT4Bw3D44sam5GqjcPCJ7y176
required

The public key of the account that executes the transaction

Example:

"6JpNV6DK88auwzKVizdeT4Bw3D44sam5GqjcPCJ7y176"

Response

Successful borrow deposit transaction

type
string
required
Allowed value: "transaction"
transaction
string
required

Base64 encoded serialized transaction