Get transaction context
curl --request GET \
--url https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}"
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}', 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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}",
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}"
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}")
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{
"depositSteps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
],
"redeemSteps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
],
"lpToken": {
"address": "<string>",
"tokenCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balanceNative": "<string>",
"balanceUsd": "<string>"
},
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
},
"additionalAssets": [
{
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
}
],
"childrenPositions": [
{
"address": "<string>",
"lpToken": {
"address": "<string>",
"tokenCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balanceNative": "<string>",
"balanceUsd": "<string>"
},
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
},
"additionalAssets": [
{
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
}
]
}
],
"vaultSpecificData": {
"cooldownData": {
"amount": "<string>",
"endOfCooldown": "<string>",
"withdrawalWindow": "<string>"
}
},
"pendingRequests": {
"deposits": [
{
"assetAmount": "<string>",
"lpTokenAmount": "<string>",
"requestTimestamp": 123,
"estimatedResolution": 123,
"withdrawalStart": 123,
"withdrawalEnd": 123
}
],
"redeems": [
{
"assetAmount": "<string>",
"lpTokenAmount": "<string>",
"requestTimestamp": 123,
"estimatedResolution": 123,
"withdrawalStart": 123,
"withdrawalEnd": 123
}
]
},
"rewards": {
"claimable": [
{
"amount": "<string>",
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>"
}
}
],
"steps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
]
}
}{
"statusCode": 123,
"error": "Bad Request",
"message": "<string>",
"errorId": "<string>"
}{
"error": "Unauthorized",
"message": "An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments.",
"errorId": "<string>"
}{
"x402Version": 123,
"resource": {
"url": "<string>",
"description": "<string>",
"mimeType": "<string>",
"serviceName": "<string>",
"tags": [
"<string>"
],
"iconUrl": "<string>"
},
"error": "<string>",
"accepts": [
{
"scheme": "exact",
"network": "<string>",
"amount": "<string>",
"payTo": "<string>",
"maxTimeoutSeconds": 123,
"asset": "<string>",
"extra": {
"name": "<string>",
"version": "<string>"
}
}
],
"extensions": {}
}{
"error": "Forbidden",
"message": "This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits",
"errorId": "<string>"
}{
"error": "Not Found",
"message": "<string>"
}{
"message": "<string>",
"errorId": "<string>"
}{
"statusCode": 123,
"error": "Unprocessable Entity",
"message": "<string>",
"errorId": "<string>"
}{
"error": "Internal Server Error",
"message": "<string>",
"errorId": "<string>"
}{
"statusCode": 123,
"error": "Service Unavailable",
"message": "<string>",
"errorId": "<string>"
}Transactions
Get transaction context
Retrieves the complete transactional context for a user’s interaction with a specific vault, including available deposit/redeem steps, current balances, and claimable rewards.
GET
/
v2
/
transactions
/
context
/
{userAddress}
/
{network}
/
{vaultId}
Get transaction context
curl --request GET \
--url https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}"
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}', 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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}",
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}"
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.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vaults.fyi/v2/transactions/context/{userAddress}/{network}/{vaultId}")
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{
"depositSteps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
],
"redeemSteps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
],
"lpToken": {
"address": "<string>",
"tokenCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balanceNative": "<string>",
"balanceUsd": "<string>"
},
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
},
"additionalAssets": [
{
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
}
],
"childrenPositions": [
{
"address": "<string>",
"lpToken": {
"address": "<string>",
"tokenCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"balanceNative": "<string>",
"balanceUsd": "<string>"
},
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
},
"additionalAssets": [
{
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"balanceNative": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>",
"balanceUsd": "<string>",
"unclaimedNative": "<string>",
"unclaimedUsd": "<string>",
"positionValueInAsset": "<string>",
"depositLimit": "<string>"
}
]
}
],
"vaultSpecificData": {
"cooldownData": {
"amount": "<string>",
"endOfCooldown": "<string>",
"withdrawalWindow": "<string>"
}
},
"pendingRequests": {
"deposits": [
{
"assetAmount": "<string>",
"lpTokenAmount": "<string>",
"requestTimestamp": 123,
"estimatedResolution": 123,
"withdrawalStart": 123,
"withdrawalEnd": 123
}
],
"redeems": [
{
"assetAmount": "<string>",
"lpTokenAmount": "<string>",
"requestTimestamp": 123,
"estimatedResolution": 123,
"withdrawalStart": 123,
"withdrawalEnd": 123
}
]
},
"rewards": {
"claimable": [
{
"amount": "<string>",
"asset": {
"address": "<string>",
"assetCaip": "<string>",
"name": "<string>",
"symbol": "<string>",
"decimals": 123,
"assetGroup": "<string>",
"assetLogo": "<string>",
"assetPriceInUsd": "<string>"
}
}
],
"steps": [
{
"actions": [
"<string>"
],
"actionsUrl": "<string>"
}
]
}
}{
"statusCode": 123,
"error": "Bad Request",
"message": "<string>",
"errorId": "<string>"
}{
"error": "Unauthorized",
"message": "An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments.",
"errorId": "<string>"
}{
"x402Version": 123,
"resource": {
"url": "<string>",
"description": "<string>",
"mimeType": "<string>",
"serviceName": "<string>",
"tags": [
"<string>"
],
"iconUrl": "<string>"
},
"error": "<string>",
"accepts": [
{
"scheme": "exact",
"network": "<string>",
"amount": "<string>",
"payTo": "<string>",
"maxTimeoutSeconds": 123,
"asset": "<string>",
"extra": {
"name": "<string>",
"version": "<string>"
}
}
],
"extensions": {}
}{
"error": "Forbidden",
"message": "This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits",
"errorId": "<string>"
}{
"error": "Not Found",
"message": "<string>"
}{
"message": "<string>",
"errorId": "<string>"
}{
"statusCode": 123,
"error": "Unprocessable Entity",
"message": "<string>",
"errorId": "<string>"
}{
"error": "Internal Server Error",
"message": "<string>",
"errorId": "<string>"
}{
"statusCode": 123,
"error": "Service Unavailable",
"message": "<string>",
"errorId": "<string>"
}Authorizations
Path Parameters
User address
Pattern:
^0x[a-fA-F0-9]{40}$Network name or CAIP-2 identifier
Available options:
mainnet, optimism, arbitrum, polygon, gnosis, base, unichain, swellchain, celo, worldchain, berachain, ink, bsc, hyperliquid, plasma, avalanche, katana, linea, mega-eth, monad, etherlink, robinhood, eip155:1, eip155:10, eip155:42161, eip155:137, eip155:100, eip155:8453, eip155:130, eip155:1923, eip155:42220, eip155:480, eip155:80094, eip155:57073, eip155:56, eip155:999, eip155:9745, eip155:43114, eip155:747474, eip155:59144, eip155:4326, eip155:143, eip155:42793, eip155:4663 Vault id
Response
Transaction context information for a user and vault
Transaction context information for a user and vault
Current deposit step
Available options:
deposit, redeem, request-redeem, request-deposit, claim-redeem, claim-deposit, claim-rewards, start-redeem-cooldown Deposit steps
Show child attributes
Show child attributes
Current redeem step
Available options:
deposit, redeem, request-redeem, request-deposit, claim-redeem, claim-deposit, claim-rewards, start-redeem-cooldown Redeem steps
Show child attributes
Show child attributes
LP token details
Show child attributes
Show child attributes
Asset details
Show child attributes
Show child attributes
Additional assets details
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
Show child attributes
Show child attributes
Pending requests
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I

