Reputation Instructions

report_behavior CPI

Submit a reputation signal. Callable only by whitelisted reporter programs via CPI. The reporter program signs as its registered PDA authority via invoke_signed. The effective delta is calculated as delta * reporter_weight / 5. Rate-limited per reporter per agent, with a daily cap of ±100 points per agent. Note: delta is first clamped to +/-50 before the weight calculation.

  • deltai16, clamped to ±50
  • reason_codeu8, categorizes the behavior report

Reporter CPI Integration

To become a reputation reporter, a protocol must:

  1. Derive a PDA from its own program (e.g., Pubkey::find_program_address(&[b"vouch-reporter"], &your_program_id))
  2. Ask the Vouch admin to call register_reporter with that PDA as the reporter_authority
  3. When reporting behavior, CPI into report_behavior and sign as the PDA via invoke_signed

On-chain only. The reporter authority must be a PDA derived by the reporter program. This ensures reputation reports are submitted atomically within program logic — not by off-chain services or keypairs.