Build the onchain features your users rely on.

Use GraphOps RPC and Subgraphs to build wallet balances, activity feeds, and transaction details in your application.

Web3 products
Portfolio view 0xa1…03
Net position value 22,650 USDC
Indexed through Block 1,100
New blocks
  1. Block 1,098 Rewards accrued Staking
  2. Block 1,099 Swap Liquidity pool
  3. Block 1,100 Repay Borrow
  • WalletUSDC balance
    3,700
  • LendingUSDC supplied
    10,000
  • Borrow Health factor 3.00
    −2,500
  • Liquidity pool USDC / EURC · In range · Fees 15
    6,415
  • Staking5,000 staked · Rewards 35
    5,035
Worked example

Show a repayment the same way across your app

A user repays 500 USDC of a loan from their wallet. Your app updates the wallet balance, the loan, and the activity feed, and each comes from a different read.

At stake

If the reads disagree, the user sees a repayment that seems to be missing and contacts support.

Built with
  • GraphOps RPC
  • GraphOps Subgraphs

Portfolio view

0xa1…03 · Block 1,100
Net position value22,650 USDC
Indexed throughBlock 1,100
  • WalletUSDC balance 3,700 RPC read at 1,100
  • LendingUSDC supplied 10,000 Subgraph at 1,100
  • BorrowHealth factor 3.00 −2,500 Subgraph at 1,100
  • Liquidity poolUSDC / EURC · fees 15 6,415 Subgraph at 1,100
  • Staking5,000 staked · rewards 35 5,035 Subgraph at 1,100

Activity

  1. Block 1,100 Repay 500 USDC RPC receipt 0x6d…f2 · success
  2. Block 1,099 Swap
  3. Block 1,098 Rewards accrued

The balance read, indexed entities, and receipt all refer to block 1,100.

How it comes together

  • GraphOps service
  • Your systems and team
  1. GraphOps RPC

    Send the signed repayment

    The user’s wallet signs the transaction, and your app submits it through RPC.

  2. GraphOps RPC

    Confirm inclusion and read the balance

    The receipt shows success in block 1,100. A balance read at block 1,100 returns 3,700 USDC.

  3. GraphOps Subgraphs

    Query positions and activity

    A query to your Subgraph returns the loan, pool, staking, and activity entities, and its indexing metadata reports block 1,100.

  4. Your app

    Present one consistent view

    The index has reached the receipt’s block, so the repayment appears in the feed. Your confirmation policy decides when to mark it final.

ResultThe user sees the repayment, a 3,700 USDC balance, and a 2,500 USDC loan at health factor 3.00, all from block 1,100.

A receipt’s inclusion does not by itself establish finality. Subgraph results follow indexing progress and can change after a reorg.

If the index has not reached the receipt’s block

Show the repayment as pending from its receipt and label positions with their indexed block. Refresh as indexing advances, and do not treat a missing feed entry as a failed transaction.

Related workflows

Across your application

  • Wallet and contract interactions

    Read state, estimate fees with supported methods, and submit signed transactions.

    GraphOps RPC
  • Activity and position views

    Build feeds and portfolios from indexed entities.

    GraphOps Subgraphs
  • Background event processing

    Process streamed events in your backend for notifications and state updates.

    GraphOps Substreams
  • Feature migration

    Move a feature using representative requests from your existing integration.

    GraphOps RPC
Evaluate with your data

Roll out one feature with observable results

Use representative user journeys to establish compatibility before moving every application request.

  1. Test 01

    Exercise the full journey

    Test an address with history, an empty address, several activity pages, and a failed transaction. The screen should keep its asset and network context throughout.

  2. Test 02

    Plan schema changes

    For a Managed Subgraph, prepare the Next version while Current serves queries, and check indexing readiness before promotion. An Endpoint Alias with a Managed Subgraph target follows the promoted version, and one with a Deployment CID target stays on its selected CID.

  3. Test 03

    Measure the workload you will ship

    Record request volume, errors, and response times under expected use, including refreshes and background queries. Compare the result with rates in the live pricing catalog.

Build or migrate your next feature.

Create an account and fund service access. Discuss your workload, compatibility needs, and rollout with GraphOps.