Transaction lifecycle

Wallet operations

Transaction lifecycle

BroSettlement separates product intent, signing, blockchain broadcast, lifecycle events, and ledger records.

This separation helps product, operations, and finance teams reason about the same movement from different perspectives.

Deposit lifecycle

  1. Wallet or address created

Your backend creates a wallet or deposit address for a product entity.

  1. Transaction observed

The blockchain gateway observes an incoming transaction.

  1. Event delivered

Your system receives a deposit.detected event.

  1. Confirmation threshold reached

BroSettlement sends a deposit.confirmed event when the transaction reaches the required confirmation state.

  1. Ledger entry posted

The ledger records the balance impact with stable identifiers.

Withdrawal lifecycle

  1. Intent created

Your backend creates a withdrawal or transfer intent.

  1. Policy evaluated

Your system and Co-Signer evaluate amount, destination, role, and approval policy.

  1. MPC signing session runs

The client Co-Signer and BroSettlement participate in threshold signing.

  1. Transaction broadcast

The signed transaction is broadcast to the target network.

  1. Events delivered

Your system receives signed, broadcasted, confirmed, or failed events.

  1. Ledger entries posted

Ledger records reflect withdrawal debit, network fees, and final state.

Event examples

EventMeaning
deposit.detectedAn incoming transaction was observed
deposit.confirmedThe deposit reached the required confirmation state
withdrawal.createdA withdrawal intent was created
withdrawal.signedThe transaction was signed
withdrawal.broadcastedThe transaction was broadcast to the network
withdrawal.confirmedThe withdrawal reached the required confirmation state
transaction.failedA signing, broadcast, or network step failed

Design principle

Use events for operational responsiveness. Use ledger entries for final balance and reconciliation state.