---
sidebar_position: 1
sidebar_label: 'At A Glance'
---

# Polymer at a Glance

### App-Side Process

The application workflow follows these key steps:

- **Event Emission**: App emits custom event from their own contract (not Polymer's source-side contract)
- **Proof Request**: App requests proof from backend using Prove API (RPC-like call)
- **Proof Submission**: App relayer submits proof to destination chain contract (pre-configured with Polymer prover)
- **Validation**: Single method call validates proof and returns complete event data as defined by app developer


![Image](https://github.com/user-attachments/assets/2ac23b0c-6533-4e4e-a269-c2502fe7429b)



**Flow Summary**: App emits → Request proof → Submit to validator contract → Get validated event data

### Prove API (Off-chain)

- **Request Proof**: Use `proof_request` method → returns jobID
- **Poll for Result**: Use `proof_query` with jobID to get proof
- **Scope**: Designed to prove individual logs/events


### CrossL2ProverV2 Contract (On-chain)

- Validates Polymer rollup state roots
- Verifies log authenticity using proofs
- Allows proof inspection via static calls

