Skip to main content
GET
/
api
/
positions
Positions
curl --request GET \
  --url https://api.nefariouslabs.dev/api/positions
{
  "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "fetchedAt": "2024-01-15T10:30:00.000Z",
  "totalValueUsd": 15420.50,
  "totalDepositedUsd": 12500.00,
  "totalBorrowedUsd": 2100.00,
  "totalRewardsUsd": 45.30,
  "protocols": [
    {
      "protocol": {
        "id": "marginfi",
        "name": "MarginFi",
        "url": "https://app.marginfi.com",
        "category": "lending"
      },
      "totalValueUsd": 8400.00,
      "totalDepositedUsd": 10000.00,
      "totalBorrowedUsd": 1600.00,
      "totalRewardsUsd": 0,
      "positions": [
        {
          "id": "marginfi-deposit-abc123",
          "type": "deposit",
          "name": "USDC Deposit",
          "valueUsd": 5000.00,
          "tokens": [
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "5000000000",
              "amountUsd": 5000.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "apy": 0.085
          }
        },
        {
          "id": "marginfi-borrow-abc123",
          "type": "borrow",
          "name": "SOL Borrow",
          "valueUsd": 1600.00,
          "tokens": [
            {
              "mint": "So11111111111111111111111111111111111111112",
              "symbol": "SOL",
              "name": "Wrapped SOL",
              "amount": "8000000000",
              "amountUsd": 1600.00,
              "decimals": 9
            }
          ],
          "metadata": {
            "apy": 0.045
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "orca",
        "name": "Orca",
        "url": "https://www.orca.so",
        "category": "dex"
      },
      "totalValueUsd": 3500.00,
      "totalDepositedUsd": 3500.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 25.50,
      "positions": [
        {
          "id": "orca-whirlpool-def456",
          "type": "liquidity",
          "name": "SOL/USDC LP",
          "valueUsd": 3500.00,
          "tokens": [
            {
              "mint": "So11111111111111111111111111111111111111112",
              "symbol": "SOL",
              "name": "Wrapped SOL",
              "amount": "8750000000",
              "amountUsd": 1750.00,
              "decimals": 9
            },
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "1750000000",
              "amountUsd": 1750.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "poolAddress": "HJPjoWUrhoZzkNfRpHuieeFk9WcZWjwy6PBjZ81ngndJ",
            "tickLower": -10000,
            "tickUpper": 10000,
            "inRange": true,
            "unclaimedFees": [
              {
                "mint": "So11111111111111111111111111111111111111112",
                "symbol": "SOL",
                "amount": "50000000",
                "amountUsd": 10.00,
                "decimals": 9
              },
              {
                "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                "symbol": "USDC",
                "amount": "15500000",
                "amountUsd": 15.50,
                "decimals": 6
              }
            ]
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "drift",
        "name": "Drift",
        "url": "https://app.drift.trade",
        "category": "perps"
      },
      "totalValueUsd": 2500.00,
      "totalDepositedUsd": 2000.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 0,
      "positions": [
        {
          "id": "drift-perp-btc",
          "type": "perp",
          "name": "BTC-PERP Long",
          "valueUsd": 500.00,
          "tokens": [
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "500000000",
              "amountUsd": 500.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "side": "long",
            "leverage": 5.0,
            "entryPrice": 42000.00,
            "markPrice": 43500.00,
            "unrealizedPnl": 500.00,
            "liquidationPrice": 35000.00
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "jito",
        "name": "Jito",
        "url": "https://www.jito.network",
        "category": "lst"
      },
      "totalValueUsd": 1020.50,
      "totalDepositedUsd": 1000.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 20.50,
      "positions": [
        {
          "id": "jito-stake",
          "type": "stake",
          "name": "Jito Staked SOL",
          "valueUsd": 1020.50,
          "tokens": [
            {
              "mint": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
              "symbol": "JitoSOL",
              "name": "Jito Staked SOL",
              "amount": "5000000000",
              "amountUsd": 1020.50,
              "decimals": 9
            }
          ],
          "metadata": {
            "exchangeRate": 1.085
          }
        }
      ]
    }
  ]
}
Retrieve all DeFi positions for a Solana wallet across supported protocols.

Request

wallet
string
required
Solana wallet address in base58 format (32-44 characters).
protocols
string
Comma-separated list of protocol IDs to filter results. If omitted, all protocols are queried.Available protocols:
  • Lending: marginfi, kamino, solend, defituna
  • DEX: raydium, orca, meteora, hawkfi, jupiter
  • Perpetuals: drift, mango
  • Liquid Staking: jito, marinade, blazestake, sanctum, solayer, fragmetric, kyros
  • Governance: jupiter-governance
  • Native: solana-native-staking
  • Holdings: wallet

Response

wallet
string
The queried wallet address.
fetchedAt
string
ISO 8601 timestamp of when the data was fetched.
totalValueUsd
number
Net portfolio value in USD (deposits - borrows + positions).
totalDepositedUsd
number
Total deposited assets in USD.
totalBorrowedUsd
number
Total borrowed assets in USD.
totalRewardsUsd
number
Total unclaimed rewards in USD.
protocols
array
Array of protocol position data.

Position Object

id
string
Unique position identifier.
type
string
Position type: deposit, borrow, liquidity, stake, or perp.
name
string
Human-readable position name (e.g., USDC Deposit, SOL/USDC LP).
valueUsd
number
Position value in USD.
tokens
array
Tokens in the position.
metadata
object
Additional data depending on position type.

Errors

CodeDescription
400Invalid wallet address format
{
  "error": "Invalid wallet address"
}

Examples

curl "https://api.nefariouslabs.dev/api/positions?wallet=7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
{
  "wallet": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "fetchedAt": "2024-01-15T10:30:00.000Z",
  "totalValueUsd": 15420.50,
  "totalDepositedUsd": 12500.00,
  "totalBorrowedUsd": 2100.00,
  "totalRewardsUsd": 45.30,
  "protocols": [
    {
      "protocol": {
        "id": "marginfi",
        "name": "MarginFi",
        "url": "https://app.marginfi.com",
        "category": "lending"
      },
      "totalValueUsd": 8400.00,
      "totalDepositedUsd": 10000.00,
      "totalBorrowedUsd": 1600.00,
      "totalRewardsUsd": 0,
      "positions": [
        {
          "id": "marginfi-deposit-abc123",
          "type": "deposit",
          "name": "USDC Deposit",
          "valueUsd": 5000.00,
          "tokens": [
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "5000000000",
              "amountUsd": 5000.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "apy": 0.085
          }
        },
        {
          "id": "marginfi-borrow-abc123",
          "type": "borrow",
          "name": "SOL Borrow",
          "valueUsd": 1600.00,
          "tokens": [
            {
              "mint": "So11111111111111111111111111111111111111112",
              "symbol": "SOL",
              "name": "Wrapped SOL",
              "amount": "8000000000",
              "amountUsd": 1600.00,
              "decimals": 9
            }
          ],
          "metadata": {
            "apy": 0.045
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "orca",
        "name": "Orca",
        "url": "https://www.orca.so",
        "category": "dex"
      },
      "totalValueUsd": 3500.00,
      "totalDepositedUsd": 3500.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 25.50,
      "positions": [
        {
          "id": "orca-whirlpool-def456",
          "type": "liquidity",
          "name": "SOL/USDC LP",
          "valueUsd": 3500.00,
          "tokens": [
            {
              "mint": "So11111111111111111111111111111111111111112",
              "symbol": "SOL",
              "name": "Wrapped SOL",
              "amount": "8750000000",
              "amountUsd": 1750.00,
              "decimals": 9
            },
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "1750000000",
              "amountUsd": 1750.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "poolAddress": "HJPjoWUrhoZzkNfRpHuieeFk9WcZWjwy6PBjZ81ngndJ",
            "tickLower": -10000,
            "tickUpper": 10000,
            "inRange": true,
            "unclaimedFees": [
              {
                "mint": "So11111111111111111111111111111111111111112",
                "symbol": "SOL",
                "amount": "50000000",
                "amountUsd": 10.00,
                "decimals": 9
              },
              {
                "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                "symbol": "USDC",
                "amount": "15500000",
                "amountUsd": 15.50,
                "decimals": 6
              }
            ]
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "drift",
        "name": "Drift",
        "url": "https://app.drift.trade",
        "category": "perps"
      },
      "totalValueUsd": 2500.00,
      "totalDepositedUsd": 2000.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 0,
      "positions": [
        {
          "id": "drift-perp-btc",
          "type": "perp",
          "name": "BTC-PERP Long",
          "valueUsd": 500.00,
          "tokens": [
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "symbol": "USDC",
              "name": "USD Coin",
              "amount": "500000000",
              "amountUsd": 500.00,
              "decimals": 6
            }
          ],
          "metadata": {
            "side": "long",
            "leverage": 5.0,
            "entryPrice": 42000.00,
            "markPrice": 43500.00,
            "unrealizedPnl": 500.00,
            "liquidationPrice": 35000.00
          }
        }
      ]
    },
    {
      "protocol": {
        "id": "jito",
        "name": "Jito",
        "url": "https://www.jito.network",
        "category": "lst"
      },
      "totalValueUsd": 1020.50,
      "totalDepositedUsd": 1000.00,
      "totalBorrowedUsd": 0,
      "totalRewardsUsd": 20.50,
      "positions": [
        {
          "id": "jito-stake",
          "type": "stake",
          "name": "Jito Staked SOL",
          "valueUsd": 1020.50,
          "tokens": [
            {
              "mint": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
              "symbol": "JitoSOL",
              "name": "Jito Staked SOL",
              "amount": "5000000000",
              "amountUsd": 1020.50,
              "decimals": 9
            }
          ],
          "metadata": {
            "exchangeRate": 1.085
          }
        }
      ]
    }
  ]
}