Meetcrypt

User Guide

How to read every number in Meetcrypt.

Reference for understanding balances, PNL, funding, sync behavior, and how the math behind each card and chart is computed. Open before connecting an exchange.

API key setup — read this before connecting an exchange

Step-by-step instructions for Binance, Binance Copy, Bitget, and Bitget Copy. Most importantly: the API key must be READ-ONLY. Trade, withdraw, and transfer permissions must always be off. The full guide explains why and how.

Open the API key guide →

What This App Tracks

Meetcrypt is an audit-friendly crypto portfolio and trading operations workspace across spot and futures accounts.

Dashboard

Executive operating view across balances, exposure, funding, sync health, and recent activity.

Use this first to understand portfolio size, funding drag, connector health, and the highest-risk open positions. The Allocation Snapshot collapses balances by asset across every account and wallet, so a stablecoin held in multiple accounts shows as one row instead of five. Snapshots more than 2 days older than the account's most recent sync are dropped, so a closed-out futures wallet doesn't keep resurfacing as a non-zero exposure.

Balances

Latest holdings by asset, account, and exchange using the most recent snapshot per account, snapshot type, and asset.

Use this to verify what is currently held and whether valuation is marked or still waiting for a price.

Analytics

Portfolio balance curve, open unrealized PNL history across futures positions, and funding history across the selected date range.

Use this to see daily balance evolution and how open unrealized PNL has moved over time across all Binance and Bitget futures accounts. Days carry forward the latest known values per account until a newer snapshot replaces them.

PNL Analytics

Booked and open PNL, fees, and attribution by account, symbol, and strategy.

Use this when reviewing trading performance rather than wallet balances. The breakdown tables show 'Realized Net' = Realized + Funding − Fees, which matches the headline 'Booked Net PNL'. Unrealized PNL stays in its own column so a deep open-position drag doesn't make the breakdown rows contradict the headline.

Funding

Funding payment ledger and historical funding totals.

Use this to separate funding cashflows from execution PNL and trading fees.

Trades / Orders / Positions

Execution and position-level audit trail across spot and futures.

Use these pages when you need drill-down rather than portfolio-level summaries. Trades, Spot Orders, Futures Orders, and Futures Position History all support account / pair / side / date-range filters; summary cards above each table re-compute for the filtered set. Spot Orders shows Amount in the pair's quote currency (USDT/USDC) — Bitget MARKET BUY rows are already quote-denominated, every other row converts via the average fill price.

Spot Holdings

Per-account spot positions with cost basis derived from your trade history. Combines spot + earn quantities so an asset moved into Simple Earn / Bitget Earn still shows up.

Use this for cost-basis style holdings reporting. A position is hidden as 'closed' when bought − sold ≤ 0 in the trades table, so a fully sold asset doesn't keep appearing because of a stale snapshot.

Transfers

Deposit, withdrawal, and internal-transfer ledger across both exchanges. Filters by type, asset, account, and date range. Cards show Total Deposits, Total Withdrawals, Net External Flow, Internal Transfers count, and Transfer Fees.

Use this to reconcile capital movements separately from trading. Sync auto-fetches at least 1 year of deposit/withdrawal history per exchange account and refreshes on every regular sync. Filter state lives in the URL so views are bookmarkable.

Portfolio Breakdown

Cross-exchange asset weightage chart + table at the top, then per-account compartment view below.

Use this to see how concentrated the portfolio is by asset. Stables are tagged as 'cash'; open futures positions appear as separate '(futures)' rows weighted by gross notional so leveraged exposure is visible alongside cash + spot.

Reports

CSV exports of account statements, trade summaries, PNL summaries, funding ledgers, and transfer ledgers for the date range you choose.

Use this when you need an offline copy for accounting, tax filing, or sharing with someone who doesn't have a workspace seat. Exports require an OPERATOR-level role.

Audit Log

Append-only record of every material change in the workspace — credential saves, sync triggers, member changes, plan updates, briefings sent.

Use this when an action happened that you want to trace back to who and when. Filter by action type and date range; the table is capped at 500 rows but the summary metrics use exact counts.

How Balance Valuation Works

These rules explain why the current portfolio value may differ from what you expect if some assets are unpriced or some accounts synced at different times.

  • Latest marked portfolio value uses the latest snapshot for each exchange account, snapshot type, and asset, then applies either stored valuation_usd or a fallback market mark for major assets when available.
  • If an asset shows Pending price mark, the app has quantity data but does not currently have a usable USD mark for that asset from the fallback price source.
  • Stablecoin-like assets such as USDT, USDC, FDUSD, BUSD, TUSD, and USDP are treated as approximately 1 USD unless the exchange provided a direct valuation.
  • The Balances page hides zero-quantity rows by design so users only see active holdings.
  • When both spot and futures snapshots exist for the same asset, they are treated separately by snapshot type so one does not overwrite the other.
  • On the Balances page, Binance USDT rows with basis Futures wallet show a hoverable question-mark helper in the Quantity column. That balance should be read as unrealized PNL + margin + available balance.
  • Binance's spot wallet API returns Simple Earn / Flexible Savings positions under an LD prefix (LDUSDT, LDBNB, LDPEPE, ...) that mirror balances already pulled from the Earn endpoint. Balances and Spot Holdings drop these LD-spot rows to avoid double-counting; the underlying holding still appears as the earn-row total.

How To Read Binance Futures Wallet USDT

Key interpretation note for Binance futures-heavy accounts on the Balances page.

  • Locked on the Balances page means quantity not currently free for withdrawal or immediate spot reuse inside that snapshot context.
  • For Binance USDT rows with basis Futures wallet, the Quantity value should be read as unrealized PNL + margin + available balance.
  • That means Binance futures wallet quantity is not just idle wallet cash. It is the broader futures wallet state for that asset inside the account.
  • Available and Locked still help explain how much of that wallet is immediately free versus tied to margin usage, but the Quantity number itself is the full futures wallet total.
  • Because exchanges model wallet, margin, and unrealized PNL differently, futures wallet values should be treated as an exchange-specific operational interpretation rather than a universal accounting standard across every venue.

How PNL Is Interpreted

The app separates open performance, closed performance, funding, and fees so users can trace where results are coming from.

  • Realized PNL should reflect closed trade or position outcomes that the exchange has already booked.
  • Unrealized PNL reflects the mark-to-market gain or loss of still-open futures positions.
  • Funding is tracked separately from trading fees and from execution PNL so it remains audit-friendly.
  • Fee leakage is intended to show all recorded fees for the selected period, not only fees visible on the currently loaded table page.
  • A strategy, symbol, or account card should be interpreted as the aggregate of realized PNL, unrealized PNL, funding, and fees according to that page's definitions, not just one component.
  • The Analytics page includes a daily history chart of open unrealized PNL summed across all futures-margined accounts on Binance and Bitget. Each day is the latest known per-account value carried forward and summed, converted to USD.
  • The Dashboard's Latest PNL Move metric and the Analytics drawdown chart both fold per-day unrealized PNL into wallet equity so the curve reflects mark-to-market changes — not just wallet movements. If a day shows a swing larger than wallet activity alone would explain, that's open futures PNL moving.
  • On PNL Analytics, the By Symbol / By Strategy / By Account / By Fee Type tables show a 'Realized Net' column = Realized + Funding − Fees. That matches the Booked Net PNL headline so the breakdown rows always add up to the same number. Unrealized PNL is kept in its own column for transparency but excluded from Realized Net — otherwise a single big open-position drag could push every row negative while the headline read positive.

How Sync And Data Integrity Work

What the sync engine is trying to guarantee and why imported data can still depend on exchange permissions and endpoint behavior.

  • Exchange sync is designed to be idempotent. Re-running a sync updates existing normalized records by external id rather than creating duplicates.
  • The app separates raw exchange fetches, normalized records, and computed analytics so calculations remain traceable and reproducible.
  • Auto-sync runs on a server-side timer that ticks every 10 minutes. Each tick picks up to 1 stale Binance account and 1 stale Bitget account per workspace, capped low so we don't burst exchange weight limits. Whether an account counts as stale is plan-aware: Business workspaces refresh every ~1 hour on Binance and ~20 minutes on Bitget; Pro every ~3 hours on Binance and ~1 hour on Bitget; Basic at the conservative baseline of ~6 hours on Binance and ~2 hours on Bitget.
  • Manual sync on the Exchange Connections page accepts a days value. Use a short range like 3 to 7 days for routine refreshes, and larger ranges (30, 90, 180, up to 1825) when you intentionally want a deeper backfill.
  • Capital history (deposits + withdrawals + universal transfers) refreshes with at least a 1-year lookback floor on every sync, so the Transfers page stays current automatically.
  • Every sync also writes explicit zero-quantity rows for any asset that was previously held but is missing from the current exchange response. This means assets fully moved out or sold disappear from the dashboard the instant a sync completes.
  • If a connector validates successfully but imports zero rows, that usually means the exchange endpoint returned no matching data for the requested account mode, permissions, or time window.
  • Sync Logs record the effective lookback window for each sync, so operators can tell whether a run was a short refresh or a deeper backfill.
  • If one account does not sync on a given day, analytics balance history carries forward the latest known values instead of dropping that account from the curve.
  • Any account whose last successful sync is older than 12 hours surfaces a warning banner at the top of every dashboard route, including the actual error from the most recent failed sync so silent breakage (proxy expiry, rotated credentials, etc.) is impossible to miss.
  • Daily date bucketing across analytics, PNL, alerts, and reports is UTC-stable — the server's local timezone does not affect which day a trade or funding payment lands in. Date-range pickers on the Analytics and PNL pages also use UTC boundaries.

Daily Briefing Email

What lands in the OWNER's inbox every UTC morning, what's in it, and how the once-per-day cap works.

  • Every workspace gets one AI-written briefing email per UTC day, sent at 09:00 UTC. The recipient is the workspace's primary OWNER (or earliest ADMIN, if there's no OWNER email).
  • The briefing covers aggregate metrics — equity, 24h delta, realized PNL, open positions, open notional, open unrealized PNL, funding net, top liquidation risk — never raw trade rows or per-symbol details.
  • The metrics table includes a dedicated Open Unrealized PNL row so a deep negative open book shows up in the email even when realized PNL and equity look stable.
  • The send is hard-capped at 1 per workspace per UTC day. A manual run that consumes today's slot will cause the next 09:00 UTC fire on the same UTC day to skip cleanly.
  • Workspaces with no portfolio activity (no equity history, no trades, no positions, no funding) skip the email entirely so freshly-signed-up workspaces don't generate noise.
  • If you don't see an email, check your spam folder first; every send is also recorded in the workspace audit log.

Important Definitions

Use these definitions when reading cards, charts, and tables across the app.

Portfolio Value

The summed USD valuation of the latest known holdings across all included accounts and snapshot types.

Balance History

A time series built from historical balance snapshots. Daily charts carry forward prior balances until newer snapshots arrive.

Funding

Periodic cashflow between longs and shorts in perpetual futures. It is not the same as execution PNL.

Margin Used

Capital committed to support open leveraged futures positions.

Unrealized PNL

Open profit or loss that exists at the current mark price but is not yet booked as realized PNL. The Analytics page charts a daily history of this value summed across all open futures positions on Binance and Bitget.

Transfer-Adjusted PNL

Performance after excluding deposits, withdrawals, and internal transfers that should not be mistaken for trading gains or losses.

Drawdown

The drop from the running peak of equity. The peak tracker considers both wallet-only (deposits + realized PNL) and marked equity (wallet + unrealized PNL). Without considering wallet alone, a portfolio carrying a steady negative open position would always show 0% drawdown — its marked-equity peak would equal current marked equity. The current drawdown card shows live data (latest wallet + live unrealized PNL) against the running peak; historical points on the chart use snapshot-recorded unrealized PNL for apples-to-apples peak comparison.

Troubleshooting Reading Differences

Use these checks before deciding that a number is incorrect. Most apparent mismatches come from date ranges, missing marks, or exchange-specific accounting rules.

  • If balances look lower than expected, first compare the Balances page total with the Analytics page date range. Analytics is range-based, while Balances is the latest current state.
  • If a chart point looks too low, it usually indicates either a real decrease in holdings or missing marks for some assets. Major assets are fallback-priced when possible, but not every asset can be auto-marked.
  • If trades, funding, or transfers look incomplete, verify the exchange API key permissions, account mode, and whether the venue exposes that dataset for the specific account type you connected.
  • If values differ from the exchange UI, remember that exchange apps sometimes blend wallet balance, cross margin, unrealized PNL, bonus balances, and pending settlements differently from API endpoints.
  • Use Sync Logs to confirm what the last sync actually imported before assuming the page itself is wrong.