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
Create Escrow
Sender deposits SOL into a PDA-controlled vault. Define the receiver, spend limit, and time window.
initialize(seed, amount, spend_limit, window)Rate-Limited Withdrawals
Receiver withdraws up to the spend limit per rolling window. When the window expires, the counter resets.
withdraw(amount) — checks window + limitsCancel or Deplete
Sender can cancel anytime and reclaim remaining SOL. When the vault drains fully, the escrow completes.
cancel() — drains vault, closes accountWhy 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
Rust
Program language
Solana
Blockchain
Frontend
Next.js
React framework
React
UI library
TypeScript
Type safety
Design
Tailwind
Utility CSS
Motion
Animations
Radix UI
Primitives