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
}
}
]
}
]
}
Endpoints
Positions
Get DeFi positions for a Solana wallet
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
Solana wallet address in base58 format (32-44 characters).
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
The queried wallet address.
ISO 8601 timestamp of when the data was fetched.
Net portfolio value in USD (deposits - borrows + positions).
Total deposited assets in USD.
Total borrowed assets in USD.
Total unclaimed rewards in USD.
Array of protocol position data.
Show Protocol Object
Show Protocol Object
Protocol identifier (e.g.,
marginfi, drift).Protocol display name.
Protocol website.
Category:
lending, dex, perps, lst, staking, native-staking, or holdings.Net value in this protocol.
Total deposited in this protocol.
Total borrowed in this protocol.
Unclaimed rewards in this protocol.
Array of positions (see Position Object below).
Position Object
Unique position identifier.
Position type:
deposit, borrow, liquidity, stake, or perp.Human-readable position name (e.g.,
USDC Deposit, SOL/USDC LP).Position value in USD.
Additional data depending on position type.
Show Metadata Fields
Show Metadata Fields
Lending positions:
DEX positions:
Perpetual positions:
Staking positions:
Native staking positions:
Annual percentage yield.
Account health factor.
Liquidation threshold.
Pool address.
Fee tier percentage.
Whether position is in range.
Lower price bound.
Upper price bound.
Unclaimed trading fees.
long or short.Position leverage.
Entry price.
Current mark price.
Unrealized PnL in USD.
Liquidation price.
LST to SOL exchange rate.
Pending unstake amount (if applicable).
Stake account address.
Validator vote account.
Validator commission percentage.
activating, active, deactivating, or inactive.Epoch when the stake was activated.
Epoch when the stake was deactivated.
Current Solana epoch.
Errors
| Code | Description |
|---|---|
| 400 | Invalid 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
}
}
]
}
]
}
⌘I