Live on Solana Devnet

On-chain allowances
with guardrails.

Lock SOL for a receiver who can only withdraw up to a spend limit per rolling time window. Payroll, allowances, vesting — trustless.

Identity Gated

Only the designated receiver can withdraw. Enforced by PDA constraints on-chain.

Rate Limited

Spend limits reset per rolling window. Prevents fund draining in a single transaction.

Sender Control

Cancel anytime to reclaim remaining SOL. Accounts close cleanly, rent returned.

3

Instructions

12

Integration Tests

<400ms

Finality

~0.01

SOL per tx

Protocol

How it works

01

Create Escrow

Sender deposits SOL into a PDA-controlled vault. Define the receiver, spend limit, and time window.

initialize(seed, amount, spend_limit, window)
02

Rate-Limited Withdrawals

Receiver withdraws up to the spend limit per rolling window. When the window expires, the counter resets.

withdraw(amount) — checks window + limits
03

Cancel or Deplete

Sender can cancel anytime and reclaim remaining SOL. When the vault drains fully, the escrow completes.

cancel() — drains vault, closes account

Why FlowVault

Trust the code, not the custodian

Non-Custodial

PDA-controlled vaults. No private keys, no intermediaries. Pure on-chain logic.

Instant Settlement

Sub-second transaction finality on Solana. Withdraw in real-time within your limits.

Fully Transparent

Every deposit, withdrawal, and cancellation is verifiable on-chain via Solana Explorer.

Infrastructure

Tech stack

On-Chain

Anchor

Solana framework

0.32.1

Rust

Program language

1.89

Solana

Blockchain

Devnet

Frontend

Next.js

React framework

16

React

UI library

19

TypeScript

Type safety

5

Design

Tailwind

Utility CSS

4

Motion

Animations

12

Radix UI

Primitives