Skip to content

Stealth-sender protocol fee mechanism (opt-in, configurable) #69

@truthixify

Description

@truthixify

Tier: L (1-2 weeks) Type: feature

Context

Hosted Wraith providers will need a way to charge a small protocol fee per stealth payment to sustain infrastructure costs. Add an optional fee mechanism to stealth-sender that diverts a configurable percentage to a designated address, off by default for permissionless use.

Scope

  • Add fee_recipient: Option<Address> and fee_basis_points: u32 to stealth-sender::init
  • When set, on each send/batch_send, divert (amount * fee_basis_points / 10000) to the recipient
  • Maximum fee capped at 50 bps (0.5%) by contract invariant
  • Fee is sent atomically with the user transfer + announcement (all-or-nothing)
  • Off when both fields are zero (current default behavior)

Acceptance criteria

  • Contract changes with full test coverage
  • Adversarial tests: fee > cap, fee = 0, fee_recipient invalid
  • Update SAC compatibility tests to account for fee transfer
  • Documentation + governance doc updated

Files to start with

  • stellar/stealth-sender/src/lib.rs
  • stellar/audits/2026-06-sac-compatibility.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programdripsFunded via Drips NetworkfeatureNew feature workhelp wantedExtra attention is neededstellarTouches Stellar / Soroban code

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions