Get Loopscale Strategies
curl --request POST \
--url https://tars.loopscale.com/v1/markets/strategy/infos \
--header 'Content-Type: application/json' \
--data '
{
"userAddress": "<string>",
"addresses": [
"<string>"
],
"principalMints": [
"<string>"
],
"page": 123,
"pageSize": 123
}
'import requests
url = "https://tars.loopscale.com/v1/markets/strategy/infos"
payload = {
"userAddress": "<string>",
"addresses": ["<string>"],
"principalMints": ["<string>"],
"page": 123,
"pageSize": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
userAddress: '<string>',
addresses: ['<string>'],
principalMints: ['<string>'],
page: 123,
pageSize: 123
})
};
fetch('https://tars.loopscale.com/v1/markets/strategy/infos', 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/strategy/infos",
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([
'userAddress' => '<string>',
'addresses' => [
'<string>'
],
'principalMints' => [
'<string>'
],
'page' => 123,
'pageSize' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/strategy/infos"
payload := strings.NewReader("{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
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/strategy/infos")
.header("Content-Type", "application/json")
.body("{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tars.loopscale.com/v1/markets/strategy/infos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}"
response = http.request(request)
puts response.read_body{
"strategies": [
{
"strategy": {
"address": "<string>",
"principalMint": "<string>",
"tokenBalance": 123,
"externalYieldAmount": 123,
"currentDeployedAmount": 123,
"outstandingInterestAmount": 123,
"interestPerSecond": 123,
"lastAccruedTimestamp": 123
},
"externalYieldInfo": {
"apy": 123
}
}
],
"total": 123
}"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."Strategies
Get strategies
Returns a list of strategy data matching the filters.
POST
/
markets
/
strategy
/
infos
Get Loopscale Strategies
curl --request POST \
--url https://tars.loopscale.com/v1/markets/strategy/infos \
--header 'Content-Type: application/json' \
--data '
{
"userAddress": "<string>",
"addresses": [
"<string>"
],
"principalMints": [
"<string>"
],
"page": 123,
"pageSize": 123
}
'import requests
url = "https://tars.loopscale.com/v1/markets/strategy/infos"
payload = {
"userAddress": "<string>",
"addresses": ["<string>"],
"principalMints": ["<string>"],
"page": 123,
"pageSize": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
userAddress: '<string>',
addresses: ['<string>'],
principalMints: ['<string>'],
page: 123,
pageSize: 123
})
};
fetch('https://tars.loopscale.com/v1/markets/strategy/infos', 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/strategy/infos",
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([
'userAddress' => '<string>',
'addresses' => [
'<string>'
],
'principalMints' => [
'<string>'
],
'page' => 123,
'pageSize' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/strategy/infos"
payload := strings.NewReader("{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
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/strategy/infos")
.header("Content-Type", "application/json")
.body("{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tars.loopscale.com/v1/markets/strategy/infos")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"userAddress\": \"<string>\",\n \"addresses\": [\n \"<string>\"\n ],\n \"principalMints\": [\n \"<string>\"\n ],\n \"page\": 123,\n \"pageSize\": 123\n}"
response = http.request(request)
puts response.read_body{
"strategies": [
{
"strategy": {
"address": "<string>",
"principalMint": "<string>",
"tokenBalance": 123,
"externalYieldAmount": 123,
"currentDeployedAmount": 123,
"outstandingInterestAmount": 123,
"interestPerSecond": 123,
"lastAccruedTimestamp": 123
},
"externalYieldInfo": {
"apy": 123
}
}
],
"total": 123
}"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."A Strategy is the onchain capital escrow and lending ruleset that sits behind every Vault. It holds deposited capital, deploys it as advanced lending orders on the credit order book according to curator-defined parameters (eligible collateral, rates, durations), and tracks accrued interest and external yield. Use this endpoint to query strategy-level data directly — for example, when computing Vault TVL or APY from raw fields rather than pre-aggregated Vault metadata.
Body
application/json
⌘I