Oracle System
The Oracle is Checkpoint’s verification layer. It queries offchain points APIs, generates cryptographic signatures for accepted observations, and the blockchain verifies that an authorized oracle signer issued each claim. Source accuracy and oracle operation remain trust assumptions. For deposits, the flow is now split into two steps:- The account owner signs a short-lived authorization for a specific
pointsIdandoperator. - The oracle verifies that authorization, fetches the latest points balance, and signs the deposit
claim that the
Depositcontract checks onchain, subject to available capacity and review.
expiry timestamps, request fresh
authorization when needed, and submit signed claims promptly.
This keeps the points holder account and the EVM wallet submitting the transaction explicitly
separate.
The Problem It Solves
How do we know users really have the points they claim without requiring projects to set up special infrastructure?- Option 1: Require database access: Projects expose their database, which is risky and adds work
- Option 2: Require special APIs: Projects build custom endpoints just for Checkpoint
- Option 3: Query existing APIs: The oracle uses the project’s existing API and signs the verified result
How It Works
Account Model
accountis the canonical ERC-7930 representation of the underlying points holder, such as an EOAoperatoris the EVM wallet allowed to perform the onchain deposit for that account- The oracle normalizes the input account before signing or verifying claims
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 is:
Easy Project Integration
Anyone can integrate their project into Checkpoint To get your project’s points integrated into Checkpoint’s Oracle system and the Points Aggregator simply create an adapter in the points-adapters repository.How It Works
An adapter is a simple piece of code that:- Takes a user’s account identifier as input
- Queries your project’s existing points API
- Returns the points data in a standardized format
What You Need to Do
- Create an adapter using standard web APIs
- Define key exports:
fetch,data,total, and optionalrankanddeprecated - Submit a pull request to the points-adapters repository
Types of Verifications
1. Deposit Authorization
POST /claim/deposit/authorization- Resolve the requested account
- Return the nonce, expiry, and EIP-712 payload that the account owner must sign
- Full documentation →
Example Request
The response includes a JSON-safe
typedData view plus the raw authorization fields. With viem,
rebuild the typed data using bigint values before signing.2. Deposit Claim
POST /claim/deposit- Verify the signed deposit authorization
- Fetch the latest points balance
- Apply first-deposit capacity limits and review any delayed amount
- Return
readywith a signature, orreview_requiredwith a zero claim and null signature - Submit the claim to
Deposit.deposit(...)when its status isready - Full documentation →
Example Request
Example Response
3. Settlement
POST /claim/settlement- Verify that a trade was properly settled onchain
- Return the oracle signature for the settlement transaction
- Full documentation →
Example Request
Example Response
Deposit Capacity and Review
First deposits may be fully available, partially available, or require review. ReadGET /ratelimits for current limits and capacity, and GET /markets for market availability.
Use GET /deposits?account=... to follow review progress without signing again. When ready, request
fresh authorization and a claim, then submit it promptly. If you already deposited the available
portion, the oracle reviews and updates the remainder automatically.
Review times can vary. Use the returned status and timestamps rather than a fixed waiting period.
Tracking Historical Changes
The oracle periodically checks deposited accounts and submits approved balance changes throughchangePoints(). Updates are subject to review and may not appear immediately. GET /signatures
reports review status; clients do not need to submit points-change signatures themselves.
Learn how to query receipt history
here.
Market Availability
Points-source interruptions or unusual balance changes can delay reviews or pause oracle updates. CheckGET /markets for availability and GET /deposits for your deposit’s status.
An oracle pause affects claim issuance and balance updates; it does not necessarily pause other
onchain activity.
API Reference
The Oracle provides endpoints for interacting with claim verification.Try it now! Visit the Oracle API playground to test the endpoints
interactively. Fill in your parameters and click “Try it Now” to see live responses from the
Oracle.