DRIPDRIP
How it works
Stream flow

How XLM streams work

DRIP lets users create native XLM streams on Stellar Testnet using Soroban smart contracts and Freighter. Funds are locked in a contract, vest over time, and can be withdrawn by the receiver or reclaimed by the payer.

The XLM stream lifecycle

01

Connect Freighter on Stellar Testnet

Open the DRIP dashboard and connect your Freighter extension. Make sure Freighter is set to Testnet.

02

Create an XLM stream

Choose a receiver Stellar address, enter the total XLM amount and duration. Review the transaction preview before signing with Freighter.

03

Funds are locked in a Soroban contract

After signing, the XLM is transferred into the Soroban stream contract. The contract tracks vesting state and enforces the stream rules.

04

Value vests over time

The vested amount increases continuously while the stream is active. The receiver can check withdrawn and available balances at any time.

05

Receiver withdraws vested XLM

The receiver signs a withdraw transaction through Freighter. Only the vested amount can be withdrawn — unvested XLM remains in the contract.

06

Payer can pause, resume, or cancel

The payer can pause to stop vesting temporarily, resume to continue it, or cancel to settle vested funds and recover unvested XLM.

07

View on Stellar Expert

Every transaction — create, pause, resume, withdraw, cancel — is visible on Stellar Expert testnet with the transaction hash.

Stream state signals

Soroban stream state is on-chain and transparent.

Active

XLM is vesting. Receiver can withdraw. Payer can pause or cancel.

Paused

Vesting is stopped. Unvested XLM stays in the contract. Payer can resume.

Cancelled

Stream is closed. Vested XLM goes to receiver; unvested XLM returns to payer.

Completed

Stream reached end time. All XLM has vested and is available for withdrawal.

Testnet only — no real funds

This is Stellar Testnet. No real XLM is at risk. DRIP never asks for your private key or seed phrase. All transactions require explicit Freighter approval.