Skip to main content
POST
/
markets
/
lending_vaults
/
rewards
/
schedule
/
create
Create rewards schedule
curl --request POST \
  --url https://tars.loopscale.com/v1/markets/lending_vaults/rewards/schedule/create \
  --header 'Content-Type: application/json' \
  --header 'user-wallet: <user-wallet>' \
  --data '
{
  "vaultAddress": "<string>",
  "amountToDeposit": 123,
  "rewardMint": "<string>",
  "rewardStartTime": 123,
  "rewardEndTime": 123,
  "durationStakeWeights": [
    123
  ]
}
'
import requests

url = "https://tars.loopscale.com/v1/markets/lending_vaults/rewards/schedule/create"

payload = {
"vaultAddress": "<string>",
"amountToDeposit": 123,
"rewardMint": "<string>",
"rewardStartTime": 123,
"rewardEndTime": 123,
"durationStakeWeights": [123]
}
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({
vaultAddress: '<string>',
amountToDeposit: 123,
rewardMint: '<string>',
rewardStartTime: 123,
rewardEndTime: 123,
durationStakeWeights: [123]
})
};

fetch('https://tars.loopscale.com/v1/markets/lending_vaults/rewards/schedule/create', 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/rewards/schedule/create",
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([
'vaultAddress' => '<string>',
'amountToDeposit' => 123,
'rewardMint' => '<string>',
'rewardStartTime' => 123,
'rewardEndTime' => 123,
'durationStakeWeights' => [
123
]
]),
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/rewards/schedule/create"

payload := strings.NewReader("{\n \"vaultAddress\": \"<string>\",\n \"amountToDeposit\": 123,\n \"rewardMint\": \"<string>\",\n \"rewardStartTime\": 123,\n \"rewardEndTime\": 123,\n \"durationStakeWeights\": [\n 123\n ]\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/rewards/schedule/create")
.header("user-wallet", "<user-wallet>")
.header("Content-Type", "application/json")
.body("{\n \"vaultAddress\": \"<string>\",\n \"amountToDeposit\": 123,\n \"rewardMint\": \"<string>\",\n \"rewardStartTime\": 123,\n \"rewardEndTime\": 123,\n \"durationStakeWeights\": [\n 123\n ]\n}")
.asString();
require 'uri'
require 'net/http'

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

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 \"vaultAddress\": \"<string>\",\n \"amountToDeposit\": 123,\n \"rewardMint\": \"<string>\",\n \"rewardStartTime\": 123,\n \"rewardEndTime\": 123,\n \"durationStakeWeights\": [\n 123\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "message": "<string>",
  "signatures": [
    {
      "publicKey": "<string>",
      "signature": "<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

Manager wallet address

payer
string

Optional payer wallet. Defaults to user-wallet when omitted.

Body

application/json
vaultAddress
string
required
amountToDeposit
integer
required

Raw token amount to transfer into the reward schedule.

rewardMint
string
required
rewardStartTime
integer
required

Unix timestamp in seconds.

rewardEndTime
integer
required

Unix timestamp in seconds.

durationStakeWeights
integer[]
required

Duration weights in cBPS for all allowed stake durations.

Required array length: 5 elements

Response

Serialized versioned transaction

message
string
required

Base64-encoded versioned transaction message

signatures
object[]
required