OPTXOPTX DOCS
Infrastructure

CSTB Trust DePIN Protocol

On-chain attestation, reward distribution, attestation flow, and the Anchor DePIN program.

CompuStable (CSTB) is the on-chain attestation layer that verifies gaze biometric proofs. The DePIN (Decentralized Physical Infrastructure Network) distributes $OPTX rewards to validated gaze sessions.

Reward Distribution

ShareRecipientDescription
60%ProviderUser who contributes gaze data
30%ClientApplication requesting verification
10%ProtocolCSTB treasury for operations

Attestation Flow

1. User starts gaze training session in DOJO
2. Camera captures eye movement at 60fps
3. Proprietary classifier maps gaze β†’ AGT tensors (COG/EMO/ENV)
4. Minimum gaze data collected (quality threshold)
5. Edge compute stores tensors in real-time database
6. JOE Agent validates session integrity
7. CSTB program on Solana creates attestation PDA
8. $OPTX minted to user's wallet (60% of reward pool)
9. Attestation hash stored on-chain for future verification

Requirements:
  - Min gaze duration: configurable (governance parameter)
  - Min entropy: configurable (governance parameter)
  - Difficulty target: configurable (governance parameter)
  - AGT constraint: COG + EMO + ENV must normalize to unity

Anchor Program

use anchor_lang::prelude::*;

#[program]
pub mod cstb_depin {
    use super::*;

    pub fn create_attestation(
        ctx: Context<CreateAttestation>,
        gaze_hash: [u8; 32],
        agt_weights: [u16; 3],  // [COG, EMO, ENV]
        gaze_duration_cs: u32,
        entropy: u16,
    ) -> Result<()> {
        require!(gaze_duration_cs >= MIN_GAZE_CS, CSTBError::InsufficientGaze);
        require!(entropy >= MIN_ENTROPY, CSTBError::InsufficientEntropy);
        require!(
            agt_weights.iter().sum::<u16>() == AGT_NORMALIZATION,
            CSTBError::InvalidAGTWeights
        );

        let attestation = &mut ctx.accounts.attestation;
        attestation.authority = ctx.accounts.user.key();
        attestation.gaze_hash = gaze_hash;
        attestation.agt_weights = agt_weights;
        attestation.timestamp = Clock::get()?.unix_timestamp;
        attestation.verified = true;

        Ok(())
    }
}

Source Code

The CSTB Trust DePIN program is open source:

On this page