import Link from "next/link"; import { auth } from "@/lib/auth"; import { buttonStyles } from "@/components/ui/button"; const previewRows = [ { title: "PayPal", meta: "paypal.me/alexdev", value: "alexdev", actions: "copy · open" }, { title: "USDT", meta: "TRC20", value: "TQ6...k2S", actions: "copy · qr" }, { title: "Bank Transfer", meta: "IBAN", value: "DE89 3704 0044 0532 0130 00", actions: "copy" } ]; const howItWorks = [ "Create an account and choose your public username.", "Add payment methods and optional social/contact links.", "Share your profile URL so people can copy details or scan QR." ]; const whyPayMe = [ "No custody: PayMe does not hold funds.", "No processing: PayMe does not execute transactions.", "Self-hosted: run it on your own infrastructure.", "Open source: inspect and modify everything.", "Privacy-friendly: minimal profile data, no tracking layer built in." ]; export default async function HomePage() { const session = await auth(); const primaryHref = session?.user ? "/dashboard" : "/register"; const primaryLabel = session?.user ? "Open dashboard" : "Create your profile"; return (

PayMe

One public page for every way people can pay you.

Self-hosted payment profile pages for creators, freelancers, and OSS maintainers. No custody. No transaction processing. Just clear payment details and links.

{primaryLabel} View example

Profile preview

How a public PayMe profile is presented.

Public profile

Alex Rivera

@alexdev

Open source maintainer. Donations keep maintenance sustainable.

    {previewRows.map((row) => (
  • {row.title}

    {row.meta}

    {row.value}

    {row.actions}

  • ))}

How it works

    {howItWorks.map((item) => (
  1. {item}
  2. ))}

Why PayMe

    {whyPayMe.map((item) => (
  • {item}
  • ))}
); }