Skip to main content
POST
/
markets
/
lending_vaults
/
deposit
Vault deposit
curl --request POST \
  --url https://tars.loopscale.com/v1/markets/lending_vaults/deposit \
  --header 'Content-Type: application/json' \
  --header 'user-wallet: <user-wallet>' \
  --data '
{
  "principalAmount": 123,
  "minLpAmount": 123,
  "vault": "<string>"
}
'
import requests

url = "https://tars.loopscale.com/v1/markets/lending_vaults/deposit"

payload = {
"principalAmount": 123,
"minLpAmount": 123,
"vault": "<string>"
}
headers = {
"user-wallet": "<user-wallet>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'user-wallet': '<user-wallet>', 'Content-Type': 'application/json'},
body: JSON.stringify({principalAmount: 123, minLpAmount: 123, vault: '<string>'})
};

fetch('https://tars.loopscale.com/v1/markets/lending_vaults/deposit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://tars.loopscale.com/v1/markets/lending_vaults/deposit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'principalAmount' => 123,
'minLpAmount' => 123,
'vault' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"user-wallet: <user-wallet>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://tars.loopscale.com/v1/markets/lending_vaults/deposit"

payload := strings.NewReader("{\n \"principalAmount\": 123,\n \"minLpAmount\": 123,\n \"vault\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("user-wallet", "<user-wallet>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://tars.loopscale.com/v1/markets/lending_vaults/deposit")
.header("user-wallet", "<user-wallet>")
.header("Content-Type", "application/json")
.body("{\n \"principalAmount\": 123,\n \"minLpAmount\": 123,\n \"vault\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://tars.loopscale.com/v1/markets/lending_vaults/deposit")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["user-wallet"] = '<user-wallet>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"principalAmount\": 123,\n \"minLpAmount\": 123,\n \"vault\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "transaction": {
    "message": "<string>",
    "signatures": [
      {
        "publicKey": "<string>",
        "signature": "<string>"
      }
    ]
  },
  "stakeAccount": "<string>"
}
"Something went wrong: You have an error in your SQL syntax."
"Failed to deserialize the JSON body into the target type: missing field `mints` at line 1 column 1."

Headers

user-wallet
string
required

Wallet address of the depositing user

Body

application/json
principalAmount
number
required

Amount of Principal tokens to deposit (in lamports)

minLpAmount
number
required

Minimum number of LP tokens you are willing to accept in exchange for your principal deposit, in the event Vault increases in value between quote and execution

vault
string
required

Lending Vault address

Response

Serialized transaction and update stake account

transaction
object
stakeAccount
string

Address of the stake account holding LP tokens (if >0)