# VIP Engine

The Verified Income Profile (VIP) Engine is Rupi's core proprietary system. It performs deterministic income verification by reconciling what a platform's data says about a user's cash flows against what the blockchain independently confirms.

The data source varies by integration type, but the reconciliation logic is consistent:

1. Pull cash flow records from the connected platform's data — this may be payroll disbursement records, account deposit history, exchange withdrawal records, or any recurring inbound transfer data.
2. Scan the connected wallet's on-chain transaction history for inbound USDC/USDT transfers within a configurable tolerance window (default: ±48 hours, ±2% amount).
3. Verify that originating addresses match the platform's known disbursement or settlement wallets (whitelisted per integration).
4. Filter all remaining transactions: strip wash trades, circular flows, and unverified P2P transfers.
5. Output a VIP: a structured record of verified monthly income, cash flow consistency, and income source classification.

The VIP is deterministic. It does not use ML inference or heuristics to estimate income. Either the on-chain match against the platform record exists or it does not. This is the fundamental difference between Rupi and every existing alternative.

When a payroll connection is available, the match is exact: expected disbursement vs. on-chain receipt. When the data source is a neobank or exchange, Rupi reconciles the platform's recorded inbound transfers against on-chain history, classifying recurring patterns as verified income signals. The output schema is identical regardless of the source platform.

###


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rupi.global/core-documentation/editor/vip-engine.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
