Skip to content

ENGINEERING EXAMPLE / NO LIVE REWARDS

Verify the event. Record the outcome.

A signed callback, an approved activity and a settled reward are different outcomes. This example runs offline with synthetic records. No participant, campaign or redemption was tested.

Reproduce four signature checks

Download adgem-postback.ts, verify.mjs and fixtures.json into one folder. With Node.js 25.6.1 run node --experimental-strip-types verify.mjs. It checks the source hash, matching signature, tampered amount, missing signature and wrong key without contacting a server.

Read seven synthetic ledger records

Pending and failed records leave the balance unchanged. An example credit adds 100 neutral fixture points; its duplicate adds zero. A reversal removes those points, a repeated reversal has zero effect, and an unmatched reversal stays unresolved. The final fixture balance is zero.

This reconciliation model is separate from the production ledger. The pinned AdGem validator does not test the separate PubScale reversal path, concurrency, fraud decisions or settlement. Do not send these fixtures to live callback endpoints.

Before joining an activity

Check the offer shown to you for location, age/account/device requirements, permitted actions, time limits, attribution conditions, validation delays, reversal rules and available reward methods. Signup does not establish eligibility. Keep pending, failed, credited and redeemed outcomes separate.

Explore the consumer path

Before launching a campaign

Agree the actual event contract, secret handling, duplicate and reversal behavior, eligible markets, reward inventory, audit records and rollback procedure. A partner inquiry becomes qualified only after scope, permission, budget and feasibility review.

Discuss a business integration
Download the source mapping, limitations and real-journey evidence checklist

Published by QuestX about its own service. Actual eligibility, activity completion, reward receipt and settlement are not verified by this publication.