Get list of earn positions
Get list of earn positions for accounts tracked for this workspace. Optional query parameters filter by chain, provider, and pagination.
GET
/
earn
/
positions
TypeScript
const response: Promise<FireblocksResponse<GetPositionsResponse>> = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);CompletableFuture<ApiResponse<GetPositionsResponse>> response = fireblocks.earn().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order);response = fireblocks.earn.get_earn_positions(chain_id, provider_id, page_cursor, page_size, sort_by, order);curl --request GET \
--url https://api.fireblocks.io/v1/earn/positionsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/earn/positions', 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.fireblocks.io/v1/earn/positions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.fireblocks.io/v1/earn/positions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/earn/positions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"status": "ACTIVE",
"inFlight": false,
"positionType": "LEND",
"vaultAccountId": "12345",
"opportunityId": "morpho-usdc-vault-1",
"chainId": "1",
"providerId": "MORPHO",
"origin": "NATIVE",
"principalAssetId": "USDC_ETH",
"positionAssetId": "MORPHO_USDC_VAULT_ETH",
"principalBalance": "10000.00",
"positionBalance": "9950.5",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-03-20T08:30:00Z",
"lastSyncedAt": "2025-03-20T08:29:55Z",
"availableActions": [
"DEPOSIT",
"WITHDRAW"
]
}
],
"total": 1,
"next": "",
"prev": ""
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}Query Parameters
Available options:
MORPHO, AAVE Cursor for the next or previous page of results.
Number of items per page.
Required range:
1 <= x <= 100Field to sort results by.
Sort order (ASC or DESC).
Available options:
ASC, DESC Example:
"ASC"
Response
OK
Page of user lending positions for this query.
Show child attributes
Show child attributes
Example:
[
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"status": "ACTIVE",
"inFlight": false,
"positionType": "LEND",
"vaultAccountId": "12345",
"opportunityId": "morpho-usdc-vault-1",
"chainId": "1",
"providerId": "MORPHO",
"origin": "NATIVE",
"principalAssetId": "USDC_ETH",
"positionAssetId": "MORPHO_USDC_VAULT_ETH",
"principalBalance": "10000.00",
"positionBalance": "9950.5",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-03-20T08:30:00Z",
"lastSyncedAt": "2025-03-20T08:29:55Z",
"availableActions": ["DEPOSIT", "WITHDRAW"]
}
]
Total number of items matching the query.
Example:
1
Opaque cursor for the next page; empty when there is no next page.
Example:
""
Opaque cursor for the previous page; empty when there is no previous page.
Example:
""
Was this page helpful?
⌘I
TypeScript
const response: Promise<FireblocksResponse<GetPositionsResponse>> = fireblocks.earn.getEarnPositions(earnApiGetEarnPositionsRequest);CompletableFuture<ApiResponse<GetPositionsResponse>> response = fireblocks.earn().getEarnPositions(chainId, providerId, pageCursor, pageSize, sortBy, order);response = fireblocks.earn.get_earn_positions(chain_id, provider_id, page_cursor, page_size, sort_by, order);curl --request GET \
--url https://api.fireblocks.io/v1/earn/positionsconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/earn/positions', 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.fireblocks.io/v1/earn/positions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.fireblocks.io/v1/earn/positions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/earn/positions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"status": "ACTIVE",
"inFlight": false,
"positionType": "LEND",
"vaultAccountId": "12345",
"opportunityId": "morpho-usdc-vault-1",
"chainId": "1",
"providerId": "MORPHO",
"origin": "NATIVE",
"principalAssetId": "USDC_ETH",
"positionAssetId": "MORPHO_USDC_VAULT_ETH",
"principalBalance": "10000.00",
"positionBalance": "9950.5",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-03-20T08:30:00Z",
"lastSyncedAt": "2025-03-20T08:29:55Z",
"availableActions": [
"DEPOSIT",
"WITHDRAW"
]
}
],
"total": 1,
"next": "",
"prev": ""
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}{
"message": "<string>",
"code": 123
}