Latency — balances (avg ms)
Lower is better. Phantom / Solflare Jul 22 capture.
One integration for wallet balances and DeFi positions: chain-complete holdings and typed DeFi with USD, measured in milliseconds. Every claim below carries a number from live captures.
mint + raw amount (enriched adds decimals).
No USD, price, symbol, name, or logo URL in that response.
Jupiter wallet-tokens includes price + valueUsd and display metadata.
Enrichment has been discussed and will be added shortly for the package.
Also requested for assets / token balances only (not DeFi positions): bring back 1d / 7d price changes, plus market cap and 24h volume from token-details.
DeFi positions already include USD and per-token prices today.
Measured Phantom balances + Solflare balances/DeFi/stake/earn on the same 10 wallets (Jul 22). Phantom has no public Solana DeFi positions API — DeFi cells stay —.
Jupiter’s portfolio endpoint serves a browsing UI. Vybe is built for APIs: ~99.9% balance match vs the chain, DeFi positions with USD attached, and responses measured in milliseconds. Phantom & Solflare balances measured Jul 22; Phantom DeFi stays — (no API).
| DeFi Positions | ||||
|---|---|---|---|---|
| Latency | ~143–217 ms | ~6–22 sec −99% | — | ~0.5–12 sec −97% |
| Protocols | ~22 −78% | ~100+ | — | ~96 −4% |
| Positions returned | 511 −33% | 764 | — | 764 |
| USD value | ~$279k −11% | ~$315k | — | ~$248k −21% |
| Spot Holdings | ||||
|---|---|---|---|---|
| Latency | ~60–300 ms | ~6–22 sec −99% | ~0.6–1.5 sec −82% | ~0.5–6 sec −87% |
| Holdings returned | 4,281 | 732 −83% | 476 −89% | 1,616 −62% |
| Valid USD Values | 627 | 464 −26% | 320 −49% | 417 −33% |
| Valid USD Prices | 1,010 | 732 −28% | 400 −60% | 677 −33% |
| 1:1 Match with RPC | 4,271 | 720 −83% | 471 −89% | 1,598 −63% |
| Only Found on RPC | 3 | 3,545 −100% | 3,810 −100% | 2,670 −100% |
Lower is better. Phantom / Solflare Jul 22 capture.
Lower is better. Phantom — (no DeFi API). Solflare avg ~6.3s.
On-chain mints missing from the API. Lower is better. Phantom/Solflare vs live RPC Jul 22 (of 4,285).
Exact amount matches (shared mints). Higher is better. Phantom/Solflare Jul 22.
If your product shows “what’s in this wallet,” missing tokens are a trust problem.
On the same 10 wallets, Vybe returned 4,281 holdings vs Jupiter’s
732 wallet-tokens. Vybe matched on-chain RPC at
~99.9% and finished in ~0.2s.
That is the core $999 value for balance surfaces.
Known gap: today’s Vybe balances payload is mint + raw amount — no symbol, name, logo URL, price, or USD in that fetch. Discussed — enrichment landing shortly for the package. DeFi already has prices.
| Field | ||||
|---|---|---|---|---|
| Decimals | Provided | Not Provided | Provided | Provided |
| Symbol | 1,004 −31% | 731 −49% | 461 −68% | 1,445 |
| Name | 999 −31% | 723 −50% | 459 −68% | 1,443 |
| Logo URL | 1,002 −26% | 729 −46% | 416 −69% | 1,351 |
| Valid USD Prices* | 1,010 | 732 −28% | 400 −60% | 677 −33% |
| Valid USD Values* | 627 | 464 −26% | 320 −49% | 417 −33% |
| Market Cap | 997 | 0 −100% | 397 −60% | 676 −32% |
| 24h Volume | 545 −19% | 0 −100% | 0 −100% | 676 |
| Latency | ~60–300 ms | ~6–22 sec −99% | ~0.6–1.5 sec −82% | ~0.5–6 sec −87% |
| Coverage vs RPC | ~99.9% | ~17% −83% | ~11% −89% | ~38% −62% |
Symbol / name / logo: holdings with that field present (Vybe Internal + token-details; Jupiter wallet-tokens / tokenInfo for logo). Out of 4,281 Vybe / 732 Jupiter / 476 Phantom / 1,616 Solflare non-zero holdings (Solflare API also returns zero-balance rows; excluded here).
* Valid USD Prices: Vybe = holdings with a token-details price; Jupiter = holdings with price > 0; Phantom / Solflare = non-zero holdings with price > 0.
* Valid USD Values: holding USD ≥ $0.01 (Vybe = amount × token-details price; Jupiter = valueUsd; Phantom / Solflare = qty × price).
* Market Cap / 24h Volume: holdings with non-null, > 0 values (Vybe token-details; Phantom marketCap; Solflare price.mc / volume24h). Jupiter wallet-tokens does not provide these. Phantom / Solflare RPC compare: live Helius fetch Jul 22 vs same-day API captures (of 4,285 mints).
Vybe returns typed positions (LPs, lending, vaults, farming…) with protocol id, labels, nested assets,
and USD values already on the position — in ~150–200 ms.
Jupiter still leads on long-tail protocol count; that gap is measured below and sits on the roadmap.
When both sides list the same position, values usually agree (~82% within 1%).
Solflare /v3/defi returned 764 positions / ~$248k on this set (avg ~6.3s). Phantom has no DeFi positions API here — columns stay —.
| Field / metric | ||||
|---|---|---|---|---|
platformId (protocol) |
Yes | Yes | — | Yes |
type / label |
Yes | Yes | — | Yes |
| Position USD | Yes | Yes | — | Yes |
| Token price + USD in position | Yes | Yes | — | Yes |
LP data.liquidities[] |
Yes | Yes | — | Yes (deposits) |
LP pool name (CPMM/DLMM…) |
~41% (41/99) −24% | ~54% (90/167) | — | No −100% |
LP netApy |
~22% (22/99) −78% | ~99% (166/167) | — | No −100% |
| Lending health / supply / borrow | Yes | Yes | — | Partial |
| Protocol count | ~22 −78% | ~100+ | — | ~96 −4% |
| DeFi positions | 511 −33% | 764 | — | 764 |
| DeFi USD total | ~$279k −11% | ~$315k | — | ~$248k −21% |
| Latency | ~0.15–0.2 sec | ~6–22 sec −99% | — | ~0.5–12 sec −97% |
Jupiter platformIds on these 10 wallets that never appear in Vybe Internal (~22 protocols).
Sorted by wallet coverage (then position count). Checkmark = present on ≥4/10 wallets.
100 missing protocols · 382 positions.
| # | Protocol platformId |
Positions | Wallets |
|---|---|---|---|
| 1 | jupiter-exchange | 44 | 9/10 |
| 2 | jupiter-governance | 9 | 9/10 |
| 3 | project0 | 8 | 8/10 |
| 4 | flash | 23 | 7/10 |
| 5 | exponent | 20 | 7/10 |
| 6 | native-stake | 7 | 7/10 |
| 7 | huma | 7 | 6/10 |
| 8 | bulktrade | 6 | 6/10 |
| 9 | realms | 6 | 6/10 |
| 10 | streamflow | 10 | 5/10 |
| 11 | vaultka | 6 | 5/10 |
| 12 | defituna | 10 | 4/10 |
| 13 | hawksight | 8 | 4/10 |
| 14 | iloop | 8 | 4/10 |
| 15 | magiceden | 6 | 4/10 |
| 16 | famousfoxfederation | 5 | 4/10 |
| 17 | graphite | 5 | 4/10 |
| 18 | adrena | 4 | 4/10 |
| 19 | grass | 4 | 4/10 |
| 20 | ratex | 10 | 3/10 |
| 21 | sandglass | 9 | 3/10 |
| 22 | oresupply | 5 | 3/10 |
| 23 | carrot | 3 | 3/10 |
| 24 | oro | 3 | 3/10 |
| 25 | yaku | 23 | 2/10 |
| 26 | byreal | 8 | 2/10 |
| 27 | elemental | 4 | 2/10 |
| 28 | nirvana | 4 | 2/10 |
| 29 | zinc | 4 | 2/10 |
| 30 | hubble | 3 | 2/10 |
| 31 | port | 3 | 2/10 |
| 32 | thevault | 3 | 2/10 |
| 33 | accessprotocol | 2 | 2/10 |
| 34 | bskt | 2 | 2/10 |
| 35 | defiland | 2 | 2/10 |
| 36 | diversifi | 2 | 2/10 |
| 37 | divvy | 2 | 2/10 |
| 38 | gpool | 2 | 2/10 |
| 39 | jupiter-offerbook | 2 | 2/10 |
| 40 | lifinity | 2 | 2/10 |
| 41 | neutral | 2 | 2/10 |
| 42 | rain | 2 | 2/10 |
| 43 | sharky | 2 | 2/10 |
| 44 | solanamobile | 2 | 2/10 |
| 45 | sonic | 2 | 2/10 |
| 46 | symmetry | 2 | 2/10 |
| 47 | tensor | 2 | 2/10 |
| 48 | voltr | 2 | 2/10 |
| 49 | manifest | 4 | 1/10 |
| 50 | zeus | 3 | 1/10 |
| 51 | allbridge | 2 | 1/10 |
| 52 | ensofi | 2 | 1/10 |
| 53 | flowmatic | 2 | 1/10 |
| 54 | futarchy | 2 | 1/10 |
| 55 | gmtrade | 2 | 1/10 |
| 56 | godl | 2 | 1/10 |
| 57 | helium | 2 | 1/10 |
| 58 | marinade | 2 | 1/10 |
| 59 | omnipair | 2 | 1/10 |
| 60 | oreblue | 2 | 1/10 |
| 61 | parcl | 2 | 1/10 |
| 62 | saber | 2 | 1/10 |
| 63 | solomon | 2 | 1/10 |
| 64 | staratlas | 2 | 1/10 |
| 65 | wasabi | 2 | 1/10 |
| 66 | adrastea | 1 | 1/10 |
| 67 | aurory | 1 | 1/10 |
| 68 | boop | 1 | 1/10 |
| 69 | chopcorp | 1 | 1/10 |
| 70 | cudis | 1 | 1/10 |
| 71 | cytonic | 1 | 1/10 |
| 72 | dflow | 1 | 1/10 |
| 73 | epicentral | 1 | 1/10 |
| 74 | fastpoker | 1 | 1/10 |
| 75 | fragmetric | 1 | 1/10 |
| 76 | francium | 1 | 1/10 |
| 77 | genesysgo | 1 | 1/10 |
| 78 | glow | 1 | 1/10 |
| 79 | hastra | 1 | 1/10 |
| 80 | icm | 1 | 1/10 |
| 81 | jupiter-pm | 1 | 1/10 |
| 82 | lavarage | 1 | 1/10 |
| 83 | mango | 1 | 1/10 |
| 84 | nosana | 1 | 1/10 |
| 85 | pancakeswap | 1 | 1/10 |
| 86 | perena | 1 | 1/10 |
| 87 | photofinish | 1 | 1/10 |
| 88 | piggybank | 1 | 1/10 |
| 89 | puffcoin | 1 | 1/10 |
| 90 | pumpkin | 1 | 1/10 |
| 91 | quarry | 1 | 1/10 |
| 92 | runemine | 1 | 1/10 |
| 93 | sns | 1 | 1/10 |
| 94 | solanaid | 1 | 1/10 |
| 95 | solstice | 1 | 1/10 |
| 96 | titan | 1 | 1/10 |
| 97 | tulip | 1 | 1/10 |
| 98 | uxd | 1 | 1/10 |
| 99 | wormhole | 1 | 1/10 |
| 100 | zelo | 1 | 1/10 |
| Label | ||||
|---|---|---|---|---|
| LiquidityPool | 99 −41% | 167 | — | 191 |
| Lending | 133 −6% | 141 | — | 147 |
| Staked | 91 −61% | 231 | — | 163 −29% |
| Farming | 96 | 30 −69% | — | 99 |
| Vault | 26 −33% | 39 | — | 21 −46% |
| Deposit | 20 −69% | 64 | — | 85 |
| Leverage | 27 | 25 −7% | — | 27 |
| Rewards | 9 −77% | 39 | — | 15 −62% |
| LimitOrder | 5 −71% | 17 | — | 5 −71% |
| Margin / Airdrop | 0 −100% | yes | — | yes |
Named gaps, with numbers. Here’s what Jupiter still does better — and what the $999 tier closes next.
Symbol, name, logo URL, price, valueUsd missing from Vybe balances today — discussed, shipping shortly.
Fill pool name (CPMM/DLMM…) and netApy (now ~22% vs Jupiter ~99%).
Flash, Jupiter Exchange/Governance, Elemental, Realms, BulkTrade, … (~+$36k / +253 positions in this set).
fetcherId, interest-bearing Token-2022 views, published protocol list, auth/SLA for $999.
Stop stitching wallet RPCs, gated portfolio scrapers, and half-complete token lists. For $999 you get Vybe access to assets/balances and DeFi positions — the same surfaces benchmarked above: chain-complete holdings and typed DeFi with USD, fast enough for product UX.
Users judge you on whether every token and DeFi position shows up. Vybe’s balance coverage (~99.9% vs RPC in this test) and fast DeFi feed let you refresh on open — not after a spinner.
Aggregate many wallets without timing out. Sub-second Vybe calls scale better than multi-second portfolio workflows when you’re charting cohorts, whales, or protocol exposure.
Incomplete inventories create bad lots and angry customers. Start from a near-complete mint set and typed DeFi positions with USD — then layer your own cost basis and jurisdiction rules.
Screen wallets for lending health, LP exposure, and staked SOL without depending on a consumer portfolio UI. Structured JSON + protocol ids beat screenshots and CSV exports.
Request: GET …/api/v1/owners/{wallet}/portfolio
(enriched: …/portfolio/enriched adds decimals).
This is the complete-holdings engine behind the $999 balances surface.
{
"owner": "<wallet>",
"token_count": 70,
"query_time_us": 12345,
"sol_summary": {
"native_sol": 267335471,
"staked_sol": 9282578,
"wrapped_sol": 0,
"total_sol_lamports": 276618049
},
"holdings": [
{ "mint": "<mint>", "amount": 47498 },
{ "mint": "<mint>", "amount": 1, "decimals": 9 }
]
}
amount = raw token units (integer), not UI decimals.symbol / name / logo URL / price / valueUsd in Vybe balances today — enrichment discussed, coming shortly.sol_summary lamports for native / staked / wrapped SOL.
Response envelope: { message, data: { sonarwatch, vybe_portfolio } }.
Production positions: data.vybe_portfolio.positions[].
USD and token prices are on the DeFi side today — ready for portfolio value UIs.
{
"message": "success",
"data": {
"sonarwatch": { "tookMs": 0, "positions": [] },
"vybe_portfolio": {
"tookMs": 52,
"positions": [
{
"type": "liquidity",
"label": "LiquidityPool",
"name": "CPMM",
"networkId": "solana",
"platformId": "raydium",
"value": 12.34,
"netApy": 0.04,
"tags": ["Concentrated"],
"data": {
"liquidities": [
{
"assets": [
{
"type": "token",
"networkId": "solana",
"value": 6.0,
"attributes": {},
"data": {
"address": "<mint>",
"amount": 1.5,
"price": 4.0
}
}
],
"assetsValue": 12.34,
"rewardAssets": [],
"rewardAssetsValue": 0,
"value": 12.34,
"yields": [{ "apr": 0.039, "apy": 0.04 }],
"ref": "<position pubkey>",
"sourceRefs": [{ "name": "Pool", "address": "<pool>" }],
"link": "https://…"
}
]
}
}
]
}
}
}
suppliedAssets / borrowedAssets / healthRatio (same family as Jupiter).value) and per-token price — unlike Vybe balances.Also: DeFi benchmark · Scorecard
wallet-tokens; DeFi = other portfolio elements./portfolio; DeFi = vybe_portfolio.positions.GET api.phantom.app/portfolio/v1/fungibles/balances (Jul 22). No Solana DeFi positions API — DeFi columns stay —. RPC compare: 471 exact / 3,810 RPC-only (~11% coverage)./v3/portfolio/tokens, DeFi /v3/defi, stake /v2/portfolio/stake, earn /v1/earn/positions/.../summary (Jul 22). RPC compare: 1,598 exact / 2,670 RPC-only (~38% coverage).platformId/protocol.id present on the 10 wallets but absent from Vybe Internal platformId set (~22).Vybe — where the signal lives.