Members
Concepts

Members

Stellar accounts registered in a pool with assigned basis points.

A Member is an active Stellar address registered within a pool to receive a designated percentage allocation from all settled payments.

Member Definition

Members are added by the pool owner via add_member. A pool must have at least one member before accepting payments, and all members must have a non-zero share specified in basis points.

On-Chain Member Data Structure

rustcontracts/splitpay/src/types.rs
#[contracttype]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Member {
pub pool_id: u64,
pub address: Address,
pub share_bps: u32,
}

Member Constraints & Integrity

  • No Duplicate Addresses: A single Stellar address cannot be added more than once to the same pool. Attempts result in Error::MemberAlreadyExists.
  • Non-Zero Shares: A member's share must be strictly greater than 0 and less than or equal to 10,000 BPS (Error::InvalidShare).
  • Total Cap: Adding or updating a member cannot cause the cumulative shares of the pool to exceed 10,000 BPS (Error::InvalidTotalShares).