Live on Devnet · Mainnet Ready

LifeProof

A dead man's switch on Solana. Lock tokens in a vault, prove you're alive on a schedule. Miss the deadline — your nominated wallet inherits everything.

Connect your wallet above to get started

proof_pol — protocol
network:devnet (mainnet-ready)
program_id:DHHHbFFGWX2y...
yield_strategy:Kamino Finance (mainnet)
grace_period:172,800 sec (48 hours)
keeper:permissionless — anyone
custody:ZERO — vault PDA only
admin_key:NONE
upgrade_authority:NONE

Grace Period

48h

Custody

Zero

Yield Source

Kamino

Execution

Permissionless

01 / Protocol

How It Works

01

Create Vault

Stake USDC or SOL, set a nominee wallet and check-in interval. On mainnet, funds immediately enter Kamino to earn yield.

02

Prove You're Alive

Sign a `proof_of_life` transaction before your deadline to roll it forward by one interval.

03

Stay Active

Every check-in resets the clock. Your vault accumulates yield on Kamino the entire time.

Or Lose It

Miss the deadline + 48h grace period, and the keeper bot or anyone on the network can execute the transfer to your nominee.

02 / Mainnet

Kamino Yield Strategy

On mainnet, every token deposited into Aegis Vault is automatically routed into Kamino Finance— Solana's largest lending protocol. Your vault doesn't just sit idle. It earns.

kToken Receipt Tokens

When you deposit USDC, Kamino issues kTokens (e.g. kUSDC) as a receipt. The exchange rate grows as interest accrues, so 100 kUSDC today redeems for more than 100 USDC tomorrow.

Auto-Compounding APY

Kamino's reserves automatically compound yields from borrowers. You don't need to do anything — the kToken exchange rate continuously increases.

Full Redemption on Claim

Whether the owner closes their vault or the nominee claims it, the program calls `redeem_reserve_collateral` on Kamino — burning kTokens for the full underlying balance plus all accrued yield.

› deposit_reserve_liquidity flow

Owner wallet
vault_ata (PDA)transfer tokens
vault_ata
Kamino reservedeposit_reserve_liquidity
Kamino reserve
vault_ktoken_atamint kTokens (receipt)
Time passes
kToken valueexchange rate ↑ (yield)
vault_ktoken_ata
Kamino reserveredeem_reserve_collateral
Kamino reserve
nominee_atatokens + yield → nominee
Only active on mainnet. Devnet vaults hold tokens in vault ATA directly.
03 / Execution

Auto Asset Transfer

Once a deadline passes and the 48-hour grace period expires, the vault enters a claimable state. No central server decides this — it's enforced entirely on-chain by the Anchor program.

1

T + 0

Vault Created

Tokens locked. Kamino deposit executed (mainnet). Clock starts.

2

T + interval

Check-in Due

Owner signs `proof_of_life`. Deadline rolls forward. Kamino keeps earning.

3

T + miss

Deadline Missed

Owner did not check in. Vault remains active but clock has expired.

4

+ 48 hours

Grace Period

48-hour buffer gives the owner one last chance to check in or close.

Claimable

Anyone Executes

`claim_vault` is now callable by anyone. Funds go to nominee.

On-Chain Guarantee

The nominee address is written immutably into the vault PDA at creation. No program instruction exists that allows the nominee to be changed after creation. The `claim_vault` instruction verifies the caller is passing the correct nominee via has_one = nominee on the vault account constraint. The program transfers to the nominee — not to the caller.

04 / Guarantee

The Nominee Will Always Receive the Funds

After a deadline passes and the 48-hour grace period expires, the keeper bot network automatically executes the claim — on a guaranteed schedule, every 48 hours. Even if no one manually triggers it, the nominee will receive their funds. Anyone can also execute it themselves and earn the vault rent as a reward.

🤖

GitHub Actions keeper — runs every 48h

Always On

A TypeScript keeper bot is scheduled via GitHub Actions to scan all vaults and execute `claim_vault` for every expired one. No human required. It runs on a fixed schedule — guaranteed.

🤝

Good Samaritan dashboard

Any person can visit /keeper, see all claimable vaults in real time, and execute transfers in one click — earning ~0.002 SOL vault rent per claim.

🔑

Nominee self-execution

The nominee can always trigger `claim_vault` themselves, the moment the grace period ends. No keeper needed — maximum control for the beneficiary.

keeper.ts — automated run

# GitHub Actions — every 48h, guaranteed

$ npx ts-node keeper.ts --once

Connecting to devnet…

Scanning program accounts…

found 12 active vaults

Checking deadlines…

✓ vault 3HkdX... expired 26h ago — claimable

· vault 9mPqW... 4d 12h remaining — skip

Executing claim_vault for 3HkdX...

✓ tx confirmed: 4xKp9m...Bwz

✓ funds → nominee F7mRqz...

✓ rent reclaimed: +0.00203 SOL

Next run: in 47h 59m

Nominee always receives — guaranteed.

05 / Roadmap

Browser Companion (thin extension)

Coming Soon

Solves the biggest community problem: forgetting to check in

A lightweight extension that works with Phantom, Solflare, or Backpack — not a new wallet. Deadline countdown on the icon, optional reminders, and deep links into Aegis Vault so check-ins are one click away. Your keys stay in the wallet you already trust.

Works with your existing wallet

Compatible with Phantom, Solflare, and Backpack — no new seed phrase, no custody change

Deadline countdown badge

Persistent badge on the extension icon shows how much time remains until your next check-in

Optional reminders

Browser alerts 24h, 6h, and 1h before your deadline expires — opt in, zero spam

One-click proof of life

Deep links open the right Aegis Vault page instantly — check in without hunting for the dApp

Why it matters

The community problem isn't the smart contract — it's human habit. A thin companion sitting in the toolbar makes check-ins frictionless without asking anyone to trust a new wallet or move their keys. Low barrier, high reliability.

Mobile (later)

A mobile companion app with biometric-gated proof-of-life — one face scan triggers a signed Solana transaction. Zero friction, maximum security.

06 / Security

Trust Model

IMMUTABLE

No Admin Key

The deployed program has no upgrade authority. Once live, the code is immutable. No team wallet can alter rules or drain vaults.

NON-CUSTODIAL

Zero Custody

Tokens never touch a team wallet. They move directly: owner → vault PDA → nominee. The program only authorizes — it never holds.

ANCHOR 0.32

Anchor Framework

Built with Anchor 0.32. Account constraints (`has_one`, `seeds`, `close`) are enforced at the instruction level — no manual signer checks needed.

ON-CHAIN VERIFIED

Immutable Nominee

The nominee address is set at vault creation and baked into the PDA. No instruction exists to update it. Verified via `has_one` on every claim.

RUNTIME ENFORCED

Privilege Escalation Guards

All mutable accounts in each instruction are explicitly declared with `#[account(mut)]`. The Solana runtime rejects any attempt to write to undeclared accounts.

AUDITABLE

Open Source

Full program source is public. Anyone can audit `claim.rs`, verify the Kamino CPI, inspect the PDA seeds, and reproduce the build.

Devnet Program Address

DHHHbFFGWX2y4HkgdePB61bUZxdJQw8VmfGvgR4cxeof

View on Explorer →
LP
Aegis Vault
Open SourceNo Admin KeyPermissionlessBuilt on Solana