Skip to content

Range enables on-chain verification of backend-signed messages without requiring transaction co-signers.

Traditional on-chain verification requires backends to co-sign every transaction:

  • Backend service must be online for every user transaction
  • Increased complexity in transaction construction
  • Security risks if backend signs malicious transactions
  • Tight coupling between frontend and backend systems

Range decouples verification from transaction signing. Instead of co-signing transactions, your backend signs a message containing verification data. Users include this signed message in their transaction, and the on-chain program verifies it.

No Co-signing Required

Backend signs messages offline. Users submit transactions independently.

Time-bound Signatures

Configurable time windows prevent replay attacks.

Multi-tenant

Each admin creates their own Settings PDA with custom configuration.

CPI Support

Call Range from other programs or trigger callbacks after verification.

PropertyHow It’s Achieved
AuthenticityOnly the backend (holding range_signer private key) can create valid signatures
IntegrityAny modification to the message invalidates the Ed25519 signature
FreshnessTime window validation prevents replay attacks
BindingPubkey in message must match the transaction signer