solana-refund is a first-party web application that helps Solana wallet holders and rugpull victims detect failed Solana transactions tied to their account and claim back recoverable SOL — the fees and rent locked up in failed transactions, and SOL recoverable from rugpull-affected assets backed by Solana.
The product intent, derived from the authoritative requirement thread, is twofold:
The audience is everyday Solana wallet holders who have experienced failed transactions or drained accounts, and holders of rugpull-affected assets backed by Solana. They arrive anxious and uncertain about a confusing financial situation, and the product is designed to read as a calm, trustworthy guide rather than a cold blockchain dashboard.
solana-refund is delivered as a custom first-party web application with application-owned identity and a supporting backend that performs on-chain scanning, recoverable-SOL accounting, and claim execution against Solana.
Actors
Accepted behavior
Ownership and access
The application owns identity. Anonymous visitors reach the Landing page and the Sign Up and Login access surfaces. Scan, Recoverable SOL, Claim, and Rugpull Recovery are protected destinations available after identity is established.
Narrow exclusions
This document does not add trading, swapping, token issuance, portfolio management, staking, NFT marketplaces, social features, or any capability beyond detecting failed transactions and claiming back recoverable SOL. No provider-owned or external-only surface is introduced; all accepted human-facing work is owned by first-party pages.
solana-refund is a current, first-party, application-owned product. Every accepted human-facing capability — scanning, reviewing recoverable SOL, claiming, and rugpull recovery — is delivered through custom pages owned by this application, backed by a backend that talks to the Solana network.
Identity and access. Because recovery state is durable and must remain bound to the correct wallet holder (a claim moves value to a specific owner, and a scan result must be resumable and revisitable), the application establishes its own identity. First-time users enroll through Sign Up; returning users verify through Login. Both access surfaces are anonymously reachable, since a protected destination cannot own the interaction that establishes access to itself. The Landing page is the anonymous public entry. Scan, Recoverable SOL, Claim, and Rugpull Recovery require an established identity.
Current vs. future. All requirements in this document are current. No future-horizon capabilities are accepted; nothing in this document should be read as committing to adjacent blockchain tooling, multi-chain support, or account-management features beyond enrollment and returning verification.
Provider and external boundaries. Solana RPC providers and the Solana network are external systems that supply on-chain history and process claim transactions. They are not product surfaces and own no human-facing interaction.
Not applicable. No reference directive in this project declares a content_source, so no source content inventory is produced.
Each requirement is a distinct story point with provenance, lifecycle facts, and observable acceptance.
FR-1 — Detect failed Solana transactions tied to an account (explicit) As a Solana Wallet Holder, I should scan a Solana account's on-chain history so that failed transactions tied to that account are detected.
FR-2 — Claim back / recover SOL (fees/rent) from failed transactions in an account (explicit) As a Solana Wallet Holder, I should claim back the SOL (fees/rent) identified from failed transactions in my account so that the recoverable SOL is returned to my wallet.
FR-3 — Support Solana wallet holders as the primary user (explicit) As a Solana Wallet Holder, I should be able to use the product as its primary user so that my failed-transaction recovery work is the product's central concern.
FR-4 — Support claiming back rugpull asset backed by Solana (explicit) As a Rugpull Victim / Asset Holder, I should identify and claim back the SOL recoverable from rugpull assets backed by Solana so that SOL tied to my rugpull-affected holdings is recovered.
FR-5 — Self-service enrollment for first-time wallet holders and rugpull victims (required_inference) As a Solana Wallet Holder or Rugpull Victim / Asset Holder, I should be able to enroll myself on first use so that I can begin recovery work without waiting on anyone else.
FR-6 — Returning verification for wallet holders and rugpull victims (required_inference) As a Solana Wallet Holder or Rugpull Victim / Asset Holder, I should be able to verify my identity on return so that I can resume the durable recovery state I already control.
Product context. Everyday Solana wallet holders who have experienced failed transactions or drained accounts. They arrive at solana-refund after something went wrong on-chain and they suspect SOL was left behind in failed transactions.
Primary goal. Detect failed Solana transactions tied to their account and claim back the recoverable SOL (fees/rent) so that SOL is returned to their wallet.
Distinct accepted responsibilities. Scanning their account's on-chain history for failed transactions; reviewing the recoverable SOL identified from those failures; initiating a claim/withdrawal of that recoverable SOL.
Relevant inputs or decisions. The Solana account to scan; whether to re-run a scan; which recoverable line items to inspect; whether to confirm the claim/withdrawal.
Interactions with other accepted participants. The holder is the sole human participant in the failed-transaction recovery lifecycle. The solana-refund backend performs the scan and submits the claim; the Solana network confirms it. The holder's own observable result is the returned SOL and the presented transaction signature.
Observable success. SOL is returned to their wallet, the claim is confirmed, and the transaction signature is presented.
What makes this role's work different. The wallet holder's work is diagnostic and account-scoped: it begins with uncertainty about what happened on-chain and proceeds through detection to a single confirmed withdrawal. It is not asset-scoped, and it does not depend on identifying a specific failed project.
Product context. Holders of rugpull-affected assets backed by Solana who need to identify and claim back recoverable SOL tied to those assets. They arrive knowing a specific asset position went wrong.
Primary goal. Locate the recoverable SOL associated with their rugpull asset positions and claim it back.
Distinct accepted responsibilities. Resolving their rugpull-affected asset positions; reviewing the recoverable SOL associated with each; selecting positions and claiming back the recoverable SOL.
Relevant inputs or decisions. Which rugpull-affected asset positions to resolve; which positions to select for claiming; whether to confirm the claim.
Interactions with other accepted participants. The victim is the sole human participant in the rugpull recovery lifecycle. The solana-refund backend resolves positions and submits the claim; the Solana network confirms it. The victim's own observable result is the confirmed recovered amount and the transaction signature.
Observable success. SOL recoverable from rugpull-affected holdings is recovered, with the confirmed amount and transaction signature shown.
What makes this role's work different. The rugpull victim's work is asset-scoped rather than account-scoped: it starts from a known failed asset position and asks what SOL can be pulled back from it, rather than from a general scan of account history. The two roles share identity and access but perform materially different recovery work.
The creative direction is authoritative for this section. Muse: Frank Chimero. Headline: Warm editorial clarity for on-chain recovery.
Color tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #F7F3EC | Cream ground dominating every page |
| Surface | #FFFDF8 | Warm off-white cards and panels |
| Text | #2C2A26 | Ink text for readability |
| Primary | #3D5A80 | Dusty blue for interactive elements and key data |
| Accent | #C45C26 | Rust orange — the single hot accent for CTAs, recoverable amounts, and important alerts |
| Muted | #8A8378 | Grey-brown for secondary text and metadata |
No gradients. No neon. The generic indigo/blue-on-white SaaS template is forbidden for this project.
Typography
Shape language. Soft, organic-modern. Rounded corners on cards and buttons (12–16px radius), not pill-shaped. Subtle warm shadows, no hard borders. Illustrated spot icons with hand-drawn quality. Section openers use a small illustrated mark. Buttons are rounded rectangles with a slight lift on hover, not glossy or bouncy.
Layout. Single-column reading measure (max 720px) centered on the page with generous margins. Editorial rhythm: large hero headline, then a calm sequence of illustrated section openers and readable text blocks. Data tables for recoverable SOL use tabular alignment with warm rules, not zebra stripes. Cards used sparingly, arranged in a gentle grid when needed. Navigation is a simple top bar with the wordmark left and a single CTA right — no mega-menu.
Imagery. Warm flat illustration with hand-drawn quality — not clip art, not 3D renders. Spot illustrations of a wallet, a key, a shield, a small character looking at a screen. Muted warm palette (rust, mustard, dusty blue, cream). Diagrams of the recovery flow are hand-drawn style with arrows and labels. No photography, no gradients, no abstract blobs.
Readable text and controls stay whole at every viewport: headlines, wordmarks, labels, numbers, and cards' text and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery and decoration may be cropped, bled off an edge, rotated, overlapped, or cut exactly as the direction asks, as long as they cover no readable text or control.
The opening spread of an essay about getting your SOL back.
The public entry — the Landing page — is composed as the opening spread of a printed essay rather than a SaaS landing page. A cream ground (#F7F3EC) fills the viewport. An oversized Literata headline spans the viewport width in 3–4 flush-left, ragged-right lines, naming plainly what the product does: it detects failed Solana transactions tied to an account and helps wallet holders and rugpull victims recover SOL. The headline is set at 56px on desktop and 36px on mobile, wrapping rather than clipping.
Below the headline, placed asymmetrically to the right of the text column, sits a single hand-drawn illustration: a small character holding a wallet with a glowing SOL coin. On desktop the illustration bleeds off the right edge; on mobile it stacks below the text column. It never covers the headline, the CTA, or the secondary link.
Beneath the headline sits the primary CTA — a rust-orange (#C45C26) rounded rectangle with a subtle warm shadow and a 2px rust-orange bottom border — and beside it a secondary text link to Login. There is no centered composition, no gradient blob, and no blue button.
Below the fold, the page continues as a calm sequence of illustrated section openers — a key, a shield, a coin — each paired with a short Literata subhead and a readable Source Sans 3 paragraph, walking the visitor through failed-transaction recovery and rugpull asset recovery in the order the product performs them. The whole page reads at a single 720px measure, centered, with generous margins.
This concept recomposes only accepted content, states, and controls. It introduces no new behavior, page, or destination.
Interaction Model: Static (direction) Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, all animations become instant fades. The hero renders as a fully composed static arrangement: headline, illustration, CTA, and secondary link all present and readable, with no scroll-triggered motion.No user-requested 3D/WebGL scene is present, and the direction's hero dimensionality is flat, so no Canvas/R3F/Drei scene is required.
prefers-reduced-motion, all animations become instant fades and the page remains fully usable as a static arrangement.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!