google sheets crypto & RWA tracking

Build a DEX trade journal with Google Forms and Sheets

A Google Form captures each swap from a phone; a linked Sheet combines the execution record with current prices and position-level unrealized P&L.

By Kian Mahmoud·October 5, 2026·4 min read
What matters here
  1. A Form-to-Sheets workflow records DEX trades without pretending to import or verify on-chain executions.
  2. Keep execution prices in the trade log and use CryptoTrackPro prices only for current position valuations.
  3. An average-cost ledger can estimate unrealized P&L, but it is not a substitute for tax accounting.

A decentralized exchange trade often starts and ends on a phone. The recordkeeping usually does not. A Google Form feeding a Google Sheet is a workable manual crypto execution tracker: enter the fill while it is fresh, then let the sheet organize the record and calculate position values.

The division of labor matters. Google Forms captures what you say happened. The Sheet keeps the ledger. CryptoTrackPro supplies current prices for the valuation view. None of those steps verifies a transaction on-chain or replaces the execution price with a better one.

Set up the capture form first

Create a Google Form with one submission per executed swap. Keep the fields short enough to use on mobile, but record the details needed to reconcile a position later:

  • Asset bought or sold, using a consistent symbol such as BTC-USD.
  • Side, quantity received or disposed, and execution price in USD.
  • Fees in USD, plus the network or venue if that distinction matters to you.
  • Optional transaction hash and a short note for unusual routing or partial fills.

Use the Form’s response destination to put submissions in a Google Sheet. Its timestamp gives each entry a place in the sequence. Record the actual fill details rather than estimating them from a later price feed. If a swap exchanges one token for another, log the acquired asset as a buy and the disposed asset as a sell, with values converted to the same reporting currency. That extra bookkeeping is less convenient than treating the swap as a single line, but it makes the position ledger easier to inspect.

Keep the raw response tab as an append-only record. Build calculations in separate tabs, and avoid editing or sorting the incoming rows. That makes it easier to compare a position calculation with the original form entry if a number looks wrong.

Turn the log into a position ledger

Make a trade ledger that references the form responses and adds calculation columns. For a basic average-cost view, each asset needs a running quantity and remaining cost basis. A buy increases quantity and adds its USD cost and buy fee to basis. A sell reduces quantity and removes basis at the average cost per unit immediately before that sale. Keep the trade sequence chronological; a row-by-row running calculation depends on that order.

Then create a positions tab with one row per asset. Bring in the latest running quantity and remaining basis, and add columns for price, market value and unrealized P&L. The calculation is straightforward: market value equals quantity multiplied by current price; unrealized P&L equals market value minus remaining basis. This is an estimate using the chosen average-cost method, not a universal accounting rule. Tax treatment can vary, and this log is not tax advice.

Bring in current prices

Install the CryptoTrackPro Google Sheets add-on, authorize it, and connect your Google account as prompted. In the positions tab, put the supported price pair in a cell—for example, BTC-USD—and use a formula such as =cryptotrackpro(A2) if A2 contains that pair. The add-on supports prices for more than 10,000 cryptocurrencies, sourced from CoinMarketCap, and does not require an API key. Its formula can also be entered directly, as in =cryptotrackpro("BTC-USD").

Keep this price column separate from execution price in the trade log. The feed is useful for valuing current holdings; it is not a record of what your DEX route actually filled at. A gap between the two is expected. If you trade non-USD pairs, decide on one reporting currency for the ledger and convert your execution records consistently before comparing them with USD prices.

CryptoTrackPro offers a free plan with 50 price refreshes per day. Base is $3.99 per month for 500 daily refreshes; Pro is $11.99 per month for unlimited daily refreshes. First-time users get a 30-day Base trial without a credit card. Auto-refresh timing depends on plan and requires the sidebar to stay open; daily limits still apply. Check the refresh behavior against the size of your watchlist rather than assuming every sheet edit refreshes a price.

Use the workflow, but know its limits

Make a form entry after each fill, then review the ledger against your wallet or transaction records at the end of a trading session. That second step catches missed entries and transcription errors. A manual form is fast, but it can still be skipped, and a misspelled symbol can create a bad price lookup. A fixed symbol list and a brief reconciliation routine reduce those risks.

This stack is best for traders who want a readable record and a current portfolio estimate, not an automated execution archive. It will not fetch swaps, infer token decimals, reconcile gas across wallets, or prove that an entry matches chain data. For a deeper look at spreadsheet price-feed maintenance and rate-limit trade-offs, see the comparison of native formulas and custom Apps Script.

Start with a small set of assets and a handful of test entries. Check the running quantity and basis after both a buy and a partial sale before relying on the unrealized P&L column. A spreadsheet is only as dependable as its inputs and its stated accounting assumptions.

More from CryptoTrackPro News