# 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.

[Create account (opens in a new tab)](https://platform.graphops.xyz/auth/register) [Explore RPC API](https://graphops.xyz/services/rpc#service-example) 

Web3 products 

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

- Block 1,100 Repay 500 USDC RPC receipt 0x6d…f2 · success

- Block 1,099 Swap

- 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

- GraphOps RPC 

#### Send the signed repayment

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

- 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.

- 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.

- 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](https://graphops.xyz/services/rpc)

- ### Activity and position views

Build feeds and portfolios from indexed entities.

[GraphOps Subgraphs](https://graphops.xyz/services/subgraphs)

- ### Background event processing

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

[GraphOps Substreams](https://graphops.xyz/services/substreams)

- ### Feature migration

Move a feature using representative requests from your existing integration.

[GraphOps RPC](https://graphops.xyz/services/rpc)

Evaluate with your data 

## Roll out one feature with observable results

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

- 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.

- 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.

- 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.

### Bring to the first conversation

- Representative requests

- The schema or deployment you query

- Expected traffic

- Rollout criteria and the behavior you depend on today

[Explore current pricing](https://graphops.xyz/pricing) 

## Build or migrate your next feature.

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

[Create account (opens in a new tab)](https://platform.graphops.xyz/auth/register)[Discuss your project](https://graphops.xyz/contact#enterprise)
