Skip to main content
The Vowena contract emits events for every significant state change - plan creation, charges, cancellations, migrations, and more. The SDK provides two ways to consume these events.

getEvents

Fetches events from the Soroban RPC in a single request. Useful for one-off queries or building your own polling loop.
Signature:
Returns: Promise<{ events: VowenaEvent[], latestLedger: number }>

VowenaEvent

Every event returned by getEvents or the poller follows this shape:

VowenaEventPoller

For continuous monitoring, use VowenaEventPoller. It polls the RPC at a configurable interval and invokes your callback for each new event.
Constructor options:
Methods:

Event Types

The Vowena contract emits the following event types:

Example: Logging All Charges

Soroban RPC retains events for a limited window (typically the last ~24 hours of ledgers). For production use, persist events to your own database and use the startLedger option to resume from where you left off. The Vowena Dashboard includes a built-in event indexer that handles this automatically.