WWebBuddyMarketplace
Reference

Known limitations

Everything version 1.0.0 does not do yet, including where the package's own notes promise more than the code delivers, so you can decide before you buy.

7 min readUpdated Oct 17, 2026Applies to LinkNest 1.0.0

On this page

We would rather you read this before buying than discover it afterwards. Each item below is something the interface, the listing or the bundled notes might suggest, but that version 1.0.0 does not do. Items will move off this page as they ship; the Changelog will say when.

Plans and billing

  • The listing kit's plan ladder does not match the plans. It shows "Live status: Free" and "AI co-pilot: capped, higher, highest"; the migrations put live status and the co-pilot on Pro and Premium, with the same 40-run cap on both.
  • Most feature keys are not checked on the server. Seven are: live_status, copilot, face_schedule, place_commerce, experiments, custom_domain and broadcasts. Of the other 20, seven are checked only in the studio's interface (themes_all, fonts, custom_bg, inbox, share_kit, tips, place), hide_branding is applied when the public page is drawn, and twelve are not checked at all: links, themes_basic, analytics, emails, shop, schedule, locks, now, faces, team, guests and letter. See Feature keys.
  • The Audience screen does not show that broadcasts are locked. On a plan without broadcasts, a creator can write a note and only learns on sending that the plan does not include it.
  • Updating adds module keys to Pro and Premium. Migration 0015 adds keys to the plans with the IDs pro and premium, including any you had deliberately left off. See Plans.
  • No usage limits. Plans cannot cap links, faces, views or subscribers. The listing kit's "Links: limited, more, unlimited" is not implemented.
  • Past-due subscriptions drop to Free immediately, with no grace period.
  • The payment ledger records the plan's list price, not what the gateway charged, and is not reconciled. Estimated MRR includes plans set by hand.
  • Razorpay's INR rate is a fixed number you set under Admin → Payment settings; LinkNest does not update it. See Razorpay.
  • PayPal creates a new product and billing plan for every subscription checkout.
  • Stripe's inline product name is hard-coded as "LinkNest" plus the plan name, whatever your brand.
  • Prices are shown in whole US dollars on the pricing page, specials and plan cards.

Payments and earnings

  • Tips and product sales are paid to the platform's gateway account. There is no Stripe Connect or automatic payout: you pay creators by hand. See Earn and payouts.
  • Products are not delivered. The "File or thank-you URL (after pay)" is not shown after payment, and without a gateway the buy button opens that URL without payment.
  • Creators can raise their own balance with Record a cash tip and Mark paid, and then request a payout of it. Check every payout request against your gateway.
  • Tip-to-unlock does not open the link after a PayPal payment, and does not retry when a Stripe or Razorpay webhook arrives after the visitor returns.
  • Tips and products are charged in USD on Stripe and PayPal; there is no currency setting for them.
  • Changing the encryption key loses the saved payment secrets. They are encrypted with SETTINGS_ENCRYPTION_KEY, or BETTER_AUTH_SECRET as a fallback; change either one in use and the secrets must be entered again. Only the five secrets are encrypted, not key IDs or the publishable key. See Encrypted payment secrets.
  • Environment payment keys are copied into the database on first use, after which changing the environment variable has no effect until the saved copy is removed. Secrets have a Clear action; other keys, such as key IDs, can only be removed with SQL.
  • PayPal starts in sandbox mode until you switch it off.

Accounts and admin

  • Email addresses are not verified, including for admins. Whoever registers an address listed in ADMIN_EMAILS first becomes an admin. Register every listed address yourself before the site is public. See Admins.
  • Taking an address out of ADMIN_EMAILS does not revoke the admin. Seated admins stay in the admins table until you delete the row.
  • No admin management screen. The bundled help file says later admins are added from Admin → People; they are added through ADMIN_EMAILS or SQL.
  • No password reset or password change. No email is sent by the platform except creators' broadcasts.
  • Google and X sign-in do not work on a self-hosted domain. They go through a hosted broker. Email and password is the supported path.
  • Sign-ups cannot be closed from the admin panel.
  • Creators cannot delete their account or page. Use SQL.
  • Team members are a list only. They do not get access to the studio.
  • The weekly letter is not emailed; it is shown on Home.
  • Admin → Export is a summary, not the "workspace export for backups or moves" the help file describes. Use pg_dump for backups.

Modules

  • Live status has one status per page. The timezone is stored but not used for display: the countdown is relative, and clock times are whatever the creator types.
  • The AI co-pilot allows 40 runs per page for the life of the page, on every plan. It does not read the Instagram URL it asks for; the URL is passed to the model as text.
  • Faces: creating extra faces is not gated by plan; only schedules are. Schedules work by weekday only. Guest pages and faces share one address space.
  • Place commerce: specials and stations cannot be paused, only removed. Tip for this is a tip, not an order. Open QR uses the public api.qrserver.com service.
  • A/B title tests pick the title with more taps, with no significance check.
  • Keyword replies and the caption planner do not connect to Instagram or any other network.

Branding and copy

  • linknest.app/<username> is printed in the studio sidebar, the phone preview, onboarding, the sign-up modal, the landing page, the share wallpaper and story images, post ideas and the weekly letter, regardless of your domain. The links and QR codes themselves use your real address.
  • "LinkNest" appears in the landing page copy and FAQ, the features catalog, the "Hide LinkNest mark" label, the error page, the custom-domain hint ("add the same domain on the LinkNest host (Vercel)") and the co-pilot prompt. Admin → Brand changes titles and the header, not these.
  • The tagline set in Admin → Brand only shows in the admin sidebar.
  • An uploaded share image is stored as a data: URL, which social networks do not fetch. Replace public/og.jpg instead.
  • The co-pilot labels its built-in planner "On-device", although it runs on your server.

Analytics

  • City and region need Vercel's headers; Cloudflare adds the country only. Elsewhere the country is guessed from the visitor's timezone. The help file's "country, region, city" applies to Vercel.
  • No bot filtering or de-duplication, and the creator's own visits count.
  • No retention setting. Visits are kept until you delete them.

Security and abuse

  • Rate limits cover only some public actions. The subscribe field, the message form and password and email unlocks are limited per visitor IP and per page, and short links per account (see the values). Page-view tracking and checkout creation are not, and there is no captcha. Each checkout attempt writes a pending earning row.
  • Per-IP limits depend on your proxy. If the proxy does not set X-Real-IP, a visitor can send their own and get a fresh per-IP allowance; the per-page limit still applies. Behind Cloudflare without real-IP handling, all visitors share one allowance. See Client IP for rate limits.
  • Rate limits are skipped if the database cannot be reached, so a database outage does not block pages, and does not limit them either.
  • The link shortener redirects to any http or https address, so a creator can make https://your-domain/s/<code> point at any website, up to 30 new links an hour. Other schemes are refused when the link is made and again when it is opened. Watch for phishing use, or restrict destinations further in safeShortDestination.
  • Broadcasts have no unsubscribe link.
  • The age gate is a click-through, not verification.
  • Pictures are stored in Postgres as data: URLs, so the database grows with every upload.

Operations

  • No health endpoint. See Check the deployment.
  • The migration runner takes no lock, so run one container against pending migrations at a time.
  • Without DATABASE_URL production runs on an in-memory database and loses everything on restart, without a warning.
  • The default build target is Vercel. Docker and VM builds need NITRO_PRESET=node-server, which the Dockerfile sets.
  • Four sample pages are created by the migrations on every install. See the sample pages.
  • The listing kit's demo URL (linknest-rho.vercel.app) is out of date; the current demo is at linknest.link.