Accepted
Nova Rewards is a tokenized loyalty platform. Reward transfers must be verifiable by users and merchants, support wallet custody, and integrate with Stellar trustlines. The system also needs programmable reward and staking behavior through contracts.
Use Stellar for ledger settlement and Soroban for programmable contract logic:
novaRewards/blockchain/sendRewards.js submits NOVA payment operations through
Horizon from a distribution account.novaRewards/blockchain/trustline.js verifies recipient trustlines before
transfer attempts.novaRewards/backend/services/sorobanService.js invokes configured Soroban
campaign contract methods through Soroban RPC.Server-side distribution is used for merchant reward issuance because merchants authorize the business action through API keys, while the platform-owned distribution account signs the token payment. User-owned wallet actions remain user-signed through Freighter.
Positive:
Negative:
novaRewards/blockchain/sendRewards.jsnovaRewards/blockchain/trustline.jsnovaRewards/backend/services/sorobanService.jsnovaRewards/backend/services/contractEventService.jsdocs/contracts.md