Skip to content

DirectorySkills

Crypto wallet landing page: 1440, made in this run
Run 1Crypto wallet landing page“We need a landing page for Ferrystone, our crypto savings app. Use brief.md.”
Runs in
  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • GitHub Copilot
  • OpenCode
Generates with
Your agent's model
Tested with
Claude Code 2.1.322Claude Sonnet 5.51 real run, 10 Nov
Needs
Node 20+Chrome
Licence
Recaply licence

Crypto Wallet Landing Page

A dark green, glowing landing page for a crypto wallet or exchange, with security points, steps and a risk note.

$9.99once, yours to keep

Builds a crypto wallet landing page in a dark mint style into your own project: deep green-black with mint highlights, a faint grid, a glowing coin and phone in the hero, figures, security features, three steps to start, questions and a clear risk note in the footer. Plain HTML, CSS and JavaScript by default, or matched to React, Next.js, Vue, Svelte, Astro or Tailwind when the project uses them. Comes with a working reference and a check that screenshots the result at phone, tablet and desktop widths and flags sideways overflow, text under 12px, missing alt text and names, low contrast, missing focus styles and motion that ignores reduced-motion settings. Use when a crypto wallet, exchange or web3 product needs a landing page, or someone asks for a dark, mint-green, secure-feeling crypto look.

By RecaplyUpdated 11 Nov

Install Crypto Wallet Landing Page

After the download, ask your agent to add it, or run the line yourself.

Read https://recaply.co/skills/crypto-wallet-landing-page/install.md and follow it to install the crypto-wallet-landing-page skill from crypto-wallet-landing-page.zip.

Paste it into your agent. It reads our install steps, finds the ZIP you downloaded and adds the skill for you.

New to skills? How to install a skill

Similar skills

All 735 skills

Who Crypto Wallet Landing Page is for

What you get

  • One HTML file with its CSS inside: no build step, no framework
  • A crypto wallet landing page in a dark mint style
  • Checked at phone and desktop widths

Good fit

  • When a crypto wallet, exchange or web3 product needs a landing page, or someone asks for a dark, mint-green, secure-feeling crypto look

Not for

  • An app with a backend, sign-in or a database
  • Copying another company's site

About this skill

You say

We need a landing page for Ferrystone, our crypto savings app. Use brief.md.

It said back

The Ferrystone landing page is built and the automated check passes. I also looked at the 1440px and 390px screenshots and found nothing cut off or overlapping. I didn't open the 768px screenshot.

The check covers sideways overflow, small text, alt text and names, contrast, focus styles, reduced motion and script errors. It ran at 390, 768 and 1440px.

Show more

What it did in run 1

  1. crypto-wallet-landing-page
  2. **/brief.md
  3. ./brief.md
  4. cd .; ls -la . .claude/skills/crypto-wallet-landing-page/reference; wc -c .claude/skills/crypto-wallet-landing-page/reference/*
  5. ./.claude/skills/crypto-wallet-landing-page/reference/index.html
  6. ./.claude/skills/crypto-wallet-landing-page/reference/script.js
  7. cd .; R=.claude/skills/crypto-wallet-landing-page/reference; cp $R/style.css style.css; head -16 $R/script.js | sed '1s/.*/\/\/ Mark JS on, menu toggle, reveal on scroll (skipped with reduced motion), form confirmation./' > script.js; cat >> script.js <<'EOF' // Sign-up form: no server yet. Connect this to your own handler. for (const f of document.querySelectorAll('[data-form]')) f.addEventListener('submit', (e) => { e.preventDefault(); const s = f.querySelector('.form-status'); if (s) s.textContent = f.dataset.done || 'Thanks. Sign-up is not connected yet, so nothing was sent.'; }); EOF python3 - <<'EOF' import re s=open('.claude/skills/crypto-wallet-landing-page/reference/index.html').read() def sub(a,b,c=1): global s assert a in s,a[:40] s=s.replace(a,b) sub('Tallymint: A self-custody wallet that explains itself','Ferrystone: Buy bitcoin in small weekly amounts') sub('content="A self-custody wallet that explains itself"','content="Buy bitcoin from $10 a week. The 1% fee is shown before every buy, and you can withdraw to your own wallet any time."') s=s.replace('Tallymint','Ferrystone') # hero sub('Self-custody wallet</p><h1>Your keys. Your coins. <em>Plain words.</em></h1><p class="hero-sub">Ferrystone keeps your crypto on your own device and explains every step, every fee and every warning before you confirm.</p>', 'Bitcoin, one small step at a time</p><h1>Buy bitcoin <em>slowly</em>, from $10 a week.</h1><p class="hero-sub">Ferrystone buys a small, fixed amount of bitcoin for you every week. You see the fee before each buy, and you can withdraw to your own wallet any time.</p>') sub('<a class="btn btn-primary" href="#cta">Get the app<','<a class="btn btn-primary" href="#download">Download the app<') sub('How it keeps you safe','How it works') sub('Free to download. Network fees shown before you send.','Bitcoin can fall in value. You can lose money. Read the risk note below.') sub('href="#features">','href="#how">') # ghost btn sub('<a href="#features">Security</a></li><li><a href="#how">How it works</a>','<a href="#features">Why Ferrystone</a></li><li><a href="#how">How it works</a>') sub('<a class="btn btn-primary btn-sm" href="#cta">Get the app</a>','<a class="btn btn-primary btn-sm" href="#download">Download</a>') sub('aria-label="Ferrystone app on a phone"','aria-label="Illustration of the Ferrystone app on a phone"') # stats s=re.sub(r'<dl class="stat-list">.*?</dl>','<dl class="stat-list"><div class="stat reveal"><dt>smallest weekly buy</dt><dd>$10</dd></div><div class="stat reveal"><dt>fee, shown before each buy</dt><dd>1%</dd></div><div class="stat reveal"><dt>to withdraw to your own wallet</dt><dd>Any time</dd></div></dl>',s,flags=re.S) # features sub('Safety you can <em>read</em>','Clear terms, <em>no surprises</em>') for a,b in [('Keys never leave your phone','Small, steady weekly buys'), ('Your recovery phrase is made and stored on your device. We cannot see it or move your coins.','Start from $10 a week and skip the pressure of picking the perfect moment.'), ('Warnings before you sign','The fee, before every buy'), ('Ferrystone checks addresses and contracts and tells you, in plain words, what a transaction will do.','Our fee is 1%. You see the exact amount before each purchase is made.'), ('Every fee up front','Withdraw to your own wallet'), ('See the network fee and the total before you confirm. No hidden spread.','Send your bitcoin to a wallet you control whenever you choose.'), ('Recovery with people you trust','Plain words about risk'), ('Optionally split recovery between three trusted contacts.','Bitcoin prices move up and down. We say so up front, not in small print.')]: sub(a,b) # steps sub('Start in <em>three</em> steps','Start in <em>three</em> steps') for a,b in [('Download and create a wallet','Download the app'),('Takes two minutes. No account, no email.','Get Ferrystone on your phone.'), ('Write down your recovery phrase','Pick a weekly amount'),('We walk you through it and check you have it right.','Choose any amount from $10 a week.'), ('Receive or buy your first coins','Check the fee, then buy'),('Through a partner, with every fee shown first.','The 1% fee is shown before each buy. Withdraw to your own wallet any time.')]: sub(a,b) # faq s=re.sub(r'<details.*</details>(?=</div></div></section>)',lambda m:'''%s''' % ''.join( '<details class="reveal"%s><summary>%s<svg class="ic" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14M5 12h14"/></svg></summary><p>%s</p></details>'%(o,q,a) for o,q,a in [ (' open','How much do I need to start?','You can buy from $10 a week.'), ('','What does it cost?','A 1% fee. It is shown to you before each buy, so you always know the cost before you confirm.'), ('','Can I move my bitcoin out of the app?','Yes. You can withdraw to your own wallet any time.'), ('','Is bitcoin risky?','Yes. The price can fall sharply and you can lose some or all of the money you put in. Weekly buying does not remove that risk or guarantee a profit. Only use money you can afford to lose.')]),s,flags=re.S) # cta sub('<section class="sec cta cta-band" id="cta"','<section class="sec cta cta-band" id="download"') sub('Hold your own <em>keys</em>','Start with <em>$10</em> a week') sub('Get a link to the app by email.','Get a link to download the app by email.') sub('<form class="inline-form" data-form>','<form class="inline-form" data-form data-done="Thanks. Sign-up is not connected yet, so nothing was sent. [Placeholder: connect to the real download link.]">') sub('Send me the link','Email me the link') # footer sub('A self-custody wallet that explains itself.','Buy bitcoin in small weekly amounts.') s=re.sub(r'<nav class="foot-col" aria-label="Accounts">.*?</nav><nav class="foot-col" aria-label="Help">.*?</nav><nav class="foot-col" aria-label="Company">.*?</nav>', '<nav class="foot-col" aria-label="Product"><h2>Product</h2><ul><li><a href="#features">Why Ferrystone</a></li><li><a href="#how">How it works</a></li><li><a href="#faq">Questions</a></li></ul></nav><nav class="foot-col" aria-label="Help"><h2>Help</h2><ul><li><a href="#">Support</a></li><li><a href="#">Fees</a></li></ul></nav><nav class="foot-col" aria-label="Legal"><h2>Legal</h2><ul><li><a href="#">Terms</a></li><li><a href="#">Privacy</a></li></ul></nav>',s,flags=re.S) sub('<div class="wrap foot-small"><p>','<div class="wrap foot-small"><p><strong>Risk warning:</strong> Bitcoin is volatile. Its price can fall as well as rise, you can lose some or all of your money, and past results do not predict future ones. Only buy with money you can afford to lose. Ferrystone does not give financial advice.</p><p>') sub(' Crypto assets are volatile and not protected by deposit insurance. Sample content for a reference design.','') open('index.html','w').write(s) EOF grep -n "foot-small" style.css | head -3; node .claude/skills/crypto-wallet-landing-page/scripts/check.mjs index.html --out check 2>&1 | tail -30
  8. cd .; R=.claude/skills/crypto-wallet-landing-page/reference; cp $R/style.css style.css; head -16 $R/script.js > script.js; grep -n "foot-small" style.css | head
  9. ./index.html
  10. cp .claude/skills/crypto-wallet-landing-page/reference/style.css style.css && head -16 .claude/skills/crypto-wallet-landing-page/reference/script.js > script.js && cat >> script.js <<'EOF' // Sign-up form: no server yet. Connect this to your own handler. for (const f of document.querySelectorAll('[data-form]')) f.addEventListener('submit', (e) => { e.preventDefault(); const s = f.querySelector('.form-status'); if (s) s.textContent = f.dataset.done; }); EOF grep -n "foot-small" style.css | head -5; node .claude/skills/crypto-wallet-landing-page/scripts/check.mjs index.html --out check 2>&1 | tail -30
  11. cp .claude/skills/crypto-wallet-landing-page/reference/style.css style.css && head -16 .claude/skills/crypto-wallet-landing-page/reference/script.js > script.js && grep -n "foot-small" style.css | head -5
  12. cp .claude/skills/crypto-wallet-landing-page/reference/style.css style.css
  13. ./script.js
  14. foot-small
  15. cp -n ./.claude/skills/crypto-wallet-landing-page/reference/style.css ./style.css; ls
  16. ./.claude/skills/crypto-wallet-landing-page/reference/style.css
  17. cp ./.claude/skills/crypto-wallet-landing-page/reference/style.css ./style.css
  18. ./style.css
  19. node .claude/skills/crypto-wallet-landing-page/scripts/check.mjs index.html --out check 2>&1 | tail -30
  20. ./check/1440.png
  21. ./check/390.png
  22. Done

10 Nov 2026 · Claude Code 2.1.322 with Claude Sonnet 5.5 · 2 min 2 s · $0.44 of API use

Questions

Is Crypto Wallet Landing Page free?

No. Crypto Wallet Landing Page costs $9.99 once and stays in your Recaply account, or it comes with the Recaply plan ($19.99 a month), which opens every premium skill and prompt.

Which agents can use Crypto Wallet Landing Page?

Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

What do I get when I buy Crypto Wallet Landing Page?

A ZIP of the whole skill folder (39 KB): the SKILL.md your agent follows and its 6 other files, the references, templates and scripts it uses. You download it from this page whenever you need it, and install it in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. The Recaply plan opens it too, with every other premium skill and prompt.

How do I install Crypto Wallet Landing Page?

Buy it, then download the ZIP from this page. For Claude Code, unzip it into .claude/skills/ in your project. For Codex, Cursor and Gemini CLI, unzip it and run npx skills add ./crypto-wallet-landing-page with your agent's flag.

What do I get from Crypto Wallet Landing Page?

One HTML file with its CSS inside: no build step, no framework. A crypto wallet landing page in a dark mint style. Checked at phone and desktop widths.

What does Crypto Wallet Landing Page need?

Node 20+ and Chrome, and no API key. Each use costs nothing beyond your agent.

How big is Crypto Wallet Landing Page?

7 files, about 28,172 tokens in all. The SKILL.md is about 2,533 tokens, and your agent reads it only when the job fits.

What does a run cost?

Our 1 runs took 2 min 2 s to 2 min 2 s and $0.44 to $0.44 of API use each, in Claude Code with claude-sonnet-5-5. On a Claude plan, a run counts toward your usage instead.

Do I have to name Crypto Wallet Landing Page to use it?

Type /crypto-wallet-landing-page first to make sure it loads. Without it, Claude Code may judge a small job simple enough to do without the skill.