Get strategy details
curl --request GET \
--url https://api.pods.finance/v2/strategies/{strategyId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.pods.finance/v2/strategies/{strategyId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.pods.finance/v2/strategies/{strategyId}', 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://api.pods.finance/v2/strategies/{strategyId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pods.finance/v2/strategies/{strategyId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pods.finance/v2/strategies/{strategyId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pods.finance/v2/strategies/{strategyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"strategy": {
"id": "Aave-USDC-polygon",
"slug": "Aave-USDC-polygon",
"asset": "<string>",
"assetDecimals": 6,
"assetName": "USDC",
"availableActions": [
"lend",
"withdraw"
],
"implementationSelector": "AavePolygon",
"network": "polygon",
"networkId": "137",
"protocol": "Aave",
"underlyingAsset": "<string>",
"underlyingDecimals": 123,
"isDefault": true,
"paused": true,
"startDate": "<string>",
"fee": "0",
"performanceFeeBps": "0",
"metadata": {},
"markupFeeBps": "0",
"marketData": {
"lastRefreshedAt": "2023-11-07T05:31:56Z",
"samples": [
{
"at": "2023-11-07T05:31:56Z",
"tvl": "<string>",
"tvlUsd": 123,
"priceUsd": 123
}
],
"sharePrice": 123,
"sharePriceChange24h": 123,
"sharePriceRefreshedAt": "2023-11-07T05:31:56Z",
"tvl": "<string>",
"tvlChange24h": 123,
"tvlUsd": 123,
"usdRate": 123
},
"protocolInfo": {
"name": "Aave",
"logo": "https://icons.llamao.fi/icons/protocols/aave"
},
"chain": {
"name": "polygon",
"id": 137,
"explorer": {
"name": "Polygonscan",
"url": "https://polygonscan.com"
},
"logo": "<string>"
},
"assetToken": {
"name": "USD Coin",
"address": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"symbol": "USDC",
"decimals": 6,
"logo": "<string>"
},
"underlyingToken": {
"name": "USD Coin",
"address": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"symbol": "USDC",
"decimals": 6,
"logo": "<string>"
},
"logourl": "<string>",
"category": [
"<string>"
]
},
"spotPosition": {
"apy": 0.0285,
"avgApy": 0.0406,
"grossAPY": 0.0285,
"inceptionApy": 0.1468,
"netAPY": 0.0285,
"realizedApy7d": 123,
"realizedApy30d": 123
},
"rateHistory": {
"items": [
{
"date": "2026-07-20T00:00:00.000Z",
"rate": 123,
"apy": 123,
"conversionRateApy": 123,
"timestamp": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 24,
"totalPages": 3,
"hasMore": true
}
}
}{
"error": {
"code": "QUOTE_NOT_FOUND",
"message": "Quote not found or expired"
}
}{
"error": {
"code": "QUOTE_NOT_FOUND",
"message": "Quote not found or expired"
}
}Strategies
Get strategy details
Returns enriched strategy metadata, spot position metrics, and rate history. Supply wallet to include wallet-scoped history and PnL.
GET
/
v2
/
strategies
/
{strategyId}
Get strategy details
curl --request GET \
--url https://api.pods.finance/v2/strategies/{strategyId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.pods.finance/v2/strategies/{strategyId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.pods.finance/v2/strategies/{strategyId}', 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://api.pods.finance/v2/strategies/{strategyId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pods.finance/v2/strategies/{strategyId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pods.finance/v2/strategies/{strategyId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pods.finance/v2/strategies/{strategyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"strategy": {
"id": "Aave-USDC-polygon",
"slug": "Aave-USDC-polygon",
"asset": "<string>",
"assetDecimals": 6,
"assetName": "USDC",
"availableActions": [
"lend",
"withdraw"
],
"implementationSelector": "AavePolygon",
"network": "polygon",
"networkId": "137",
"protocol": "Aave",
"underlyingAsset": "<string>",
"underlyingDecimals": 123,
"isDefault": true,
"paused": true,
"startDate": "<string>",
"fee": "0",
"performanceFeeBps": "0",
"metadata": {},
"markupFeeBps": "0",
"marketData": {
"lastRefreshedAt": "2023-11-07T05:31:56Z",
"samples": [
{
"at": "2023-11-07T05:31:56Z",
"tvl": "<string>",
"tvlUsd": 123,
"priceUsd": 123
}
],
"sharePrice": 123,
"sharePriceChange24h": 123,
"sharePriceRefreshedAt": "2023-11-07T05:31:56Z",
"tvl": "<string>",
"tvlChange24h": 123,
"tvlUsd": 123,
"usdRate": 123
},
"protocolInfo": {
"name": "Aave",
"logo": "https://icons.llamao.fi/icons/protocols/aave"
},
"chain": {
"name": "polygon",
"id": 137,
"explorer": {
"name": "Polygonscan",
"url": "https://polygonscan.com"
},
"logo": "<string>"
},
"assetToken": {
"name": "USD Coin",
"address": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"symbol": "USDC",
"decimals": 6,
"logo": "<string>"
},
"underlyingToken": {
"name": "USD Coin",
"address": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"symbol": "USDC",
"decimals": 6,
"logo": "<string>"
},
"logourl": "<string>",
"category": [
"<string>"
]
},
"spotPosition": {
"apy": 0.0285,
"avgApy": 0.0406,
"grossAPY": 0.0285,
"inceptionApy": 0.1468,
"netAPY": 0.0285,
"realizedApy7d": 123,
"realizedApy30d": 123
},
"rateHistory": {
"items": [
{
"date": "2026-07-20T00:00:00.000Z",
"rate": 123,
"apy": 123,
"conversionRateApy": 123,
"timestamp": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 24,
"totalPages": 3,
"hasMore": true
}
}
}{
"error": {
"code": "QUOTE_NOT_FOUND",
"message": "Quote not found or expired"
}
}{
"error": {
"code": "QUOTE_NOT_FOUND",
"message": "Quote not found or expired"
}
}Authorizations
API key for authentication. Obtain from your Pods dashboard.
Path Parameters
Strategy ID or slug
Query Parameters
Required range:
7 <= x <= 365Wallet address for position, history, and PnL enrichment
Example:
"0xb794F5eA0ba39494cE839613fffBA74279579268"
Required range:
x > 0Required range:
1 <= x <= 500Available options:
INITIAL, PENDING, FAILED, REFUNDED, SUCCESS Available options:
createdAt, updatedAt, finishedAt Available options:
asc, desc Response
Enriched strategy details retrieved
- Option 1
- Option 2
Without wallet, returns APY-only strategy detail. With wallet, also returns wallet-scoped history and PnL.
Strategy metadata nested in detail and wallet responses (no APY fields at this level)
Show child attributes
Show child attributes
Strategy APY metrics enriched with trailing realized APY
Show child attributes
Show child attributes
Paginated strategy rate history embedded in a detail response
Show child attributes
Show child attributes
Was this page helpful?
⌘I