Vybe

The $999 Internal package

One integration for wallet balances and DeFi positions — built for product teams who need chain-complete data in under a second, not a portfolio website that takes 10+. Benchmarked live against Jupiter; Phantom & Solflare coming next.

Rocks balances API (tested today): holdings are only 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 (symbol, name, logo URL, price, USD) has been discussed and will be added shortly for the package.

Pending Phantom & Solflare = not measured yet. Every cell shows until those runs land.

10 wallets · July 2026 · live captures

Why teams pick Vybe Internal

Jupiter’s portfolio is great for humans browsing a website. Internal is built for APIs: near-complete balances vs the chain, DeFi with USD already on positions, and responses measured in milliseconds — not multi-second page loads. Phantom & Solflare columns fill in once we finish those benchmarks.

Vybe Internal Jupiter Phantom Solflare
Balances source Rocks /portfolio wallet-tokens
Balances latency ~60–300 ms ~2.6–15 s
DeFi latency ~143–217 ms ~6–22 s
Tokens returned 4,281 732
Match vs on-chain RPC 4,273 / 4,277 731 / 4,277
Amount exact vs RPC 4,271 / 4,273 720 / 731
USD on balances No (Rocks) Yes
DeFi protocols ~22 ~100+
DeFi positions / USD 511 · ~$279k 764 · ~$315k

Latency — balances (avg ms)

Lower is better. Phantom / Solflare pending.

Vybe
183
Jupiter
6,961
Phantom
Solflare

Latency — DeFi (avg ms)

Lower is better. Phantom / Solflare pending.

Vybe
165
Jupiter
11,288
Phantom
Solflare

Match vs on-chain RPC

Shared mints with RPC (of 4,277). Higher is better.

Vybe
4,273
Jupiter
731
Phantom
Solflare

Amount exact vs RPC

Exact amount matches (shared mints). Higher is better.

Vybe
4,271
Jupiter
720
Phantom
Solflare

Wallet tokens

Balances — complete and fast

If your product shows “what’s in this wallet,” missing tokens are a trust problem. On the same 10 wallets, Internal returned 4,281 holdings vs Jupiter’s 732 wallet-tokens — matching on-chain RPC at ~99.9% while finishing in ~0.2s instead of several seconds. That’s the core $999 value for balance surfaces.

Honest caveat: today’s Rocks 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 Vybe Internal Jupiter Phantom Solflare
Mint / address Yes Yes
Amount Raw integer UI decimal
Decimals Enriched only Via metadata
Symbol No* Yes
Name No* Yes
Logo URL No* Yes (metadata)
Price No* Yes
USD value No* Yes
Staked SOL summary sol_summary As token rows
Latency ~60–300 ms ~2.6–15 s
Coverage vs RPC ~99.9% ~17%

* Not in Rocks fetch today — enrichment coming shortly for the package.

Positions

DeFi — API-ready positions with USD

Internal 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 wins on long-tail protocol count; we call that out below and treat it as roadmap, not fluff. When both sides list the same position, values usually agree (~82% within 1%).

Field / metric Vybe Internal Jupiter Phantom Solflare
platformId (protocol) Yes Yes
type / label Yes Yes
Position USD Yes Yes
Token price + USD in position Yes Yes
LP data.liquidities[] Yes Yes
LP pool name (CPMM/DLMM…) ~41% (41/99) ~54% (90/167)
LP netApy ~22% (22/99) ~99% (166/167)
Lending health / supply / borrow Yes Yes
fetcherId No Yes
Protocol count ~22 ~100+
DeFi positions 511 764
DeFi USD total ~$279k ~$315k
Latency ~0.15–0.2 s ~6–22 s

Position counts by label

Label Vybe Internal Jupiter Phantom Solflare
LiquidityPool99167
Lending133141
Staked91231
Farming9630
Vault2639
Deposit2064
Leverage2725
Rewards939
LimitOrder517
Margin / Airdrop0yes

Roadmap · honesty sells

Areas to improve

Buyers trust a package that names gaps. Here’s what Jupiter still does better — and what the $999 tier should close next.

Rocks balances enrichment

Symbol, name, logo URL, price, valueUsd missing from Rocks today — discussed, shipping shortly.

LP name / type + APY

Fill pool name (CPMM/DLMM…) and netApy (now ~22% vs Jupiter ~99%).

More protocols

Flash, Jupiter Exchange/Governance, Elemental, Realms, BulkTrade, … (~+$36k / +253 positions in this set).

Extras

fetcherId, interest-bearing Token-2022 views, published protocol list, auth/SLA for $999.

$999 Internal package

Ship balances + DeFi without owning the stack

Stop stitching wallet RPCs, Turnstile-gated portfolio scrapers, and half-complete token lists. For $999 you get Internal access to assets/balances and DeFi positions — the same surfaces we benchmarked: chain-complete holdings and typed DeFi with USD, fast enough for product UX.

What you buy

  • Balances API — near-full mint coverage vs chain, raw precision, sub-second
  • DeFi positions API — protocols, LP/lending shapes, USD on positions
  • One vendor for both surfaces (no Jupiter page-load workflow in your backend)
  • Documented JSON contracts below so your eng team can estimate integration in hours

What you avoid

  • Showing users 17% of their tokens and calling it a portfolio
  • Waiting 6–22s for a browser portfolio scrape to finish
  • Rebuilding lending/LP parsers for every major Solana protocol
  • Guessing amounts from rounded UI floats

Built for these buyers

Wallet & portfolio apps

Users judge you on whether every token and DeFi position shows up. Internal’s balance coverage (~99.9% vs RPC in our test) and fast DeFi feed let you refresh on open — not after a spinner.

Dashboards & analytics

Aggregate many wallets without timing out. Sub-second Internal calls scale better than multi-second portfolio workflows when you’re charting cohorts, whales, or protocol exposure.

Tax & accounting

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.

Risk & compliance

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.

1. Assets / balances — payload

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 }
  ]
}

2. DeFi positions — payload

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://…"
              }
            ]
          }
        }
      ]
    }
  }
}

Ready to integrate?

Use the benchmarks as diligence, the payloads as your contract, and the roadmap as the upgrade path — all under one $999 Internal package.

Open balance proof

Methodology