Community

Apps

Coracle

Coracle is a Nostr client for people who want the feed to be shaped by relays, lists, trust and communities instead of one global timeline: a Svelte PWA with custom feeds, web-of-trust moderation, white-labeling, zaps, NWC and Android builds.

Coracle icon
Apps Relay-aware social client Feeds, relay choice, web-of-trust filtering, communities, zaps and source-backed social context.
Back to Nostr
Apps

Apps shelf

Social app pages collect feeds, conversations, relay behavior, wallet hooks, privacy choices and source trails without turning one client into the whole network.

Apps All Apps pages App routeProduct profiles, categories, tools and source links Browse appsClose shelf

Social app orientation

App categories

App profiles

0xchatadvanced-nostr-searchAegisAlbyAlby GoAlby HubAlby HubAlby SDKAmberAmberAmethystAmethystApp and product researchApplication-specific dataBlossomBlossom spec NIP-B7BookstrBorisBouquetCalendar by FormstrChachiNostr Apps DirectoryCoracleCoracleCorny ChatCreatrDamusDamusDeveloper stack researchDittoDittodiVineDocstrDTANEmojitoFlotillaFlycatFormstrFountainFreeFromFundstrfutrGIF BuddyGittrgo-nostrGossipGossipGrimoireGroups NIP-29HablaHablaHello Nostr — ResourcesHighlighterHiveTalkhomebrew-nostrHORNET StorageHugo2NostrHyperNoteIrisIrisJumblekanbanstrKeys BandListrLNBits NostrmarketLumeLumilumiLUMINAMapstrMarmot Protocolmatrix-nostr-bridgeMeetstrMemestrMindsmonstrmostardMostronaknak — Nostr Army KnifeNalgorithmNarrnashboardNDKNegentropyngitNofluxNosNos Socialnos2xnosbinnosclNostorg Feature MatrixNostr App ManagerNostr Apps Directory GuideNostr clients feature listNostr Compass — ProjectsNostr Developer GuideNostr Development KitNostr Events MonitorNostr MCP ServerNostr NestsNostr PlaygroundNostr Service ProvidersNostr Writernostr-post-checkernostr-protocol/nostrnostr-rubynostr-sdknostr-sdk-ffinostr-sdk-flutternostr-to-rssnostr-toolsNostr.bandnostr.buildnostr.co.uk ClientsNostr.how — Clientsnostr.hsNostrabilityNostrAppsNostrApps category — AudioNostrApps category — CareerNostrApps category — CommunityNostrApps category — CurationNostrApps category — Direct MessageNostrApps category — DiscoveryNostrApps category — File SharingNostrApps category — Group ChatNostrApps category — MeatspaceNostrApps category — OnboardingNostrApps category — SignersNostrApps category — Toolsnostrchecknostrdbnostrdb-rsNostreeNostreonNostriaNostridNostrium / read.nostr.comNostrmoNostrubenoStrudelnoStrudelNostterNosturNosturNotedeckNpub.proNpub.worldnsec.appnsiteNsiteNstart.meObsidian Nostr WriterOlasOpenvibeOracoloOstrich WorkOwn Your PostsP2P BandPazPeridotPhoenixPlebeian MarketPostizPostr / write.nostr.comPrimalPrimalPrimal Article Editor / Reads authoringPrimal Studiopynostrpython-nostrRecommended Application HandlersRelay Toolsrsslayrust-nostrrust-nostr docsSatelliteSatellite EarthSatlantisSatShootShakespeareShopstrSlidestrSnortSnortStemstrswift-nostr-clientTreasuresWavlakeWavlakeWikifreediaWikistrYakiHonneYakiHonneYakiHonne mobile/web app directoryYondar

App pages

Deep dives

Field guides

Awesome Nostr branches

Trust context

Research and library

Source inventory

Deep Research: Clients, apps and product surfacesDeep Research: Developer stack and toolingResearch Map: nostrapps.comResearch Source: 0xchatResearch Source: 0xchat — NostrApps pageResearch Source: advanced-nostr-searchResearch Source: Aegis — NostrApps pageResearch Source: AlbyResearch Source: Alby — NostrApps pageResearch Source: Alby GoResearch Source: Alby HubResearch Source: Alby Hub GitHubResearch Source: Alby SDKResearch Source: AmberResearch Source: Amber — NostrApps pageResearch Source: AmethystResearch Source: Amethyst GitHubResearch Source: Awesome Nostr ResourcesResearch Source: BookstrResearch Source: BorisResearch Source: Boris — NostrApps pageResearch Source: BouquetResearch Source: Bouquet — NostrApps pageResearch Source: Calendar by FormstrResearch Source: ChachiResearch Source: Chachi — NostrApps pageResearch Source: CoracleResearch Source: Coracle — NostrApps pageResearch Source: Corny ChatResearch Source: DamusResearch Source: Damus — NostrApps pageResearch Source: DittoResearch Source: Ditto — NostrApps pageResearch Source: DocstrResearch Source: DTANResearch Source: DTAN — NostrApps pageResearch Source: EmojitoResearch Source: Emojito — NostrApps pageResearch Source: Flotilla — NostrApps pageResearch Source: FlycatResearch Source: FormstrResearch Source: Formstr — NostrApps pageResearch Source: FountainResearch Source: FreeFromResearch Source: FreeFrom — NostrApps pageResearch Source: FundstrResearch Source: futrResearch Source: futr — NostrApps pageResearch Source: GIF BuddyResearch Source: GIF Buddy — NostrApps pageResearch Source: GittrResearch Source: go-nostr GitHubResearch Source: GossipResearch Source: Gossip — NostrApps pageResearch Source: GrimoireResearch Source: Grimoire — NostrApps pageResearch Source: HablaResearch Source: Habla — NostrApps pageResearch Source: Hello Nostr — ResourcesResearch Source: HighlighterResearch Source: HiveTalkResearch Source: HORNET Storage — NostrCompassResearch Source: IrisResearch Source: Iris — NostrApps pageResearch Source: JumbleResearch Source: Jumble — NostrApps pageResearch Source: Keys BandResearch Source: Keys Band — NostrApps pageResearch Source: ListrResearch Source: LNBits NostrmarketResearch Source: LumeResearch Source: LumilumiResearch Source: LUMINAResearch Source: MapstrResearch Source: Marmot ProtocolResearch Source: MeetstrResearch Source: MemestrResearch Source: MindsResearch Source: monstr GitHubResearch Source: mostardResearch Source: MostroResearch Source: my.nostr.comResearch Source: nak — Nostr Army KnifeResearch Source: nak GitHubResearch Source: NalgorithmResearch Source: Narr — NostrApps pageResearch Source: nashboardResearch Source: NDK GitHubResearch Source: NDK NPMResearch Source: NegentropyResearch Source: Noflux — NostrApps pageResearch Source: Nos SocialResearch Source: Nos Social — NostrApps pageResearch Source: nos2xResearch Source: nos2x — NostrApps pageResearch Source: nosbinResearch Source: noscl GitHubResearch Source: Nostorg Feature MatrixResearch Source: Nostr App ManagerResearch Source: Nostr Book — KindsResearch Source: Nostr DesignResearch Source: Nostr Developer GuideResearch Source: Nostr NestsResearch Source: Nostr Nests — NostrApps pageResearch Source: Nostr PlaygroundResearch Source: nostr-post-checkerResearch Source: nostr-protocol/nostr GitHubResearch Source: nostr-sdk crates.ioResearch Source: nostr-sdk-ffi GitHubResearch Source: nostr-tools GitHubResearch Source: nostr-tools NPMResearch Source: Nostr.BandResearch Source: nostr.buildResearch Source: nostr.co.uk ClientsResearch Source: Nostr.howResearch Source: Nostr.how — ClientsResearch Source: Nostr.how — ProtocolResearch Source: Nostr.how — What is Nostr?Research Source: Nostr.orgResearch Source: NostrabilityResearch Source: NostrAppsResearch Source: NostrApps category — AudioResearch Source: NostrApps category — CareerResearch Source: NostrApps category — CommunityResearch Source: NostrApps category — CurationResearch Source: NostrApps category — Direct MessageResearch Source: NostrApps category — DiscoveryResearch Source: NostrApps category — File SharingResearch Source: NostrApps category — Group ChatResearch Source: NostrApps category — MeatspaceResearch Source: NostrApps category — OnboardingResearch Source: NostrApps category — SignersResearch Source: NostrApps category — ToolsResearch Source: nostrcheckResearch Source: nostrdb GitHubResearch Source: NostreeResearch Source: Nostree — NostrApps pageResearch Source: NostriaResearch Source: Nostria — NostrApps pageResearch Source: NostridResearch Source: Nostrmo — NostrApps pageResearch Source: Nostrmo GitHubResearch Source: NostrubeResearch Source: noStrudelResearch Source: noStrudel — NostrApps pageResearch Source: NostterResearch Source: NosturResearch Source: Nostur — NostrApps pageResearch Source: NotedeckResearch Source: Npub.proResearch Source: Npub.worldResearch Source: nsec.appResearch Source: NsiteResearch Source: Nstart.meResearch Source: Nstart.me — NostrApps pageResearch Source: Obsidian Nostr Writer — NostrApps pageResearch Source: OlasResearch Source: Olas — NostrApps pageResearch Source: OpenvibeResearch Source: OracoloResearch Source: Oracolo — NostrApps pageResearch Source: Ostrich WorkResearch Source: P2P BandResearch Source: PazResearch Source: PeridotResearch Source: Peridot — NostrApps pageResearch Source: PhoenixResearch Source: Phoenix — NostrApps pageResearch Source: Plebeian MarketResearch Source: Plebeian Market — NostrApps pageResearch Source: PrimalResearch Source: Primal — NostrApps pageResearch Source: Primal Article Editor / Reads authoringResearch Source: Primal StudioResearch Source: pynostr GitHubResearch Source: python-nostr GitHubResearch Source: Registry of KindsResearch Source: Relay Tools — NostrApps pageResearch Source: rsslayResearch Source: rust-nostr docsResearch Source: rust-nostr GitHubResearch Source: SatelliteResearch Source: SatShootResearch Source: ShakespeareResearch Source: Shakespeare — NostrApps pageResearch Source: ShopstrResearch Source: Shopstr — NostrApps pageResearch Source: SlidestrResearch Source: SnortResearch Source: start.nostr.netResearch Source: StemstrResearch Source: TreasuresResearch Source: WavlakeResearch Source: WikifreediaResearch Source: Wikifreedia — NostrApps pageResearch Source: WikistrResearch Source: Wikistr — NostrApps pageResearch Source: YakiHonne mobile/web app directoryResearch Source: YondarResearch Source: Yondar — NostrApps page
Apps24 min readNostr web client, relay management, custom feeds, web of trust, white-label communities, zaps, NWC, PWA and Android

Coracle

Coracle is a Nostr client for people who want the feed to be shaped by relays, lists, trust and communities instead of one global timeline: a Svelte PWA with custom feeds, web-of-trust moderation, white-labeling, zaps, NWC and Android builds.

The quick readCoracle is a long-running Nostr web client by hodlbod and the coracle-social project. The public repository describes it as an experimental client focused on unlocking what is unique about multiple relays: relay selection and management, web-of-trust moderation, content recommendations and privacy protection. On June 11, 2026 the repository was a Svelte project under the MIT License, with package version `0.6.33`, no public GitHub releases, and a changelog that included recent work on default feeds, relay feeds, polls, reposts, bunker login fixes, NIP-55 signer upgrades, video thumbnails, default relay updates, topic feeds, NWC wallet management and zap reliability. Coracle runs as a web app at `coracle.social` and `app.coracle.social`, is installable as a PWA, includes Android packaging through Capacitor and is designed to be white-labeled by groups. Its most important Nostr surface is not a single feature. It is the way feeds, relays, lists, communities, search, zaps, app handlers and trust scores become part of the same reading environment.

A client built around relays

Coracle should be read as a relay-aware Nostr client, not only as another web timeline. Its README says the project is focused on what is unique about Nostr, especially relay selection and management, web-of-trust based moderation, content recommendations and privacy protection. That sentence is the product's center of gravity. Coracle exists because Nostr does not have one platform database, one algorithm and one moderation department.

In ordinary use, Coracle still looks like a social client. It has notes, threads, replies, profiles, notifications, follows, searches, zaps, media previews, direct messages, communities and lists. The difference is that the app tries to keep the relay layer visible enough to matter. Notes can show relay context, relay pages have detail views, users can manage read, write and messaging relays, and feeds can be built from people, relays and topics.

That makes Coracle valuable for readers who want to understand why Nostr behaves differently from centralized social media. Missing posts, duplicate posts, relay quality, community boundaries, group membership, private messages, media uploads and zap receipts are not random glitches. They are consequences of a network made from many independently run servers. Coracle tries to make that mess navigable without pretending it does not exist.

The current public project

The public repository is `coracle-social/coracle`. GitHub described it on June 11, 2026 as an experimental Nostr client for browsing, filtering, zapping and creating custom feeds, with a homepage at `https://app.coracle.social`. The repository was created on November 25, 2022, used Svelte as its main language, carried the MIT License and had current activity as of June 2026.

The repository version in `package.json` was `0.6.33`. The GitHub releases API did not expose a normal release list, so the changelog and package metadata are the better public version trail. The top changelog entry for 0.6.33 included default and relay feeds, feed controls moved to a desktop sidebar, polls and reposts. Nearby entries mention bunker login fixes, NIP-55 signer upgrades, video thumbnails, default relay updates and NWC wallet management.

Coracle is associated with hodlbod and the coracle-social organization. The README links to a Geyser funding page for people who want to support development with sats. That funding route, the long changelog and the surrounding Welshman libraries make Coracle feel less like a single website and more like a working client family: app, libraries, Dufflepud helper service, Android packaging and white-label instances.

What a regular user sees first

Coracle's live metadata describes it as a Nostr client for regular people. That is a useful counterweight to the technical README. The app is meant to feel like a web client: open the site, log in, read a feed, search, follow, reply, react, send a message, publish a note, zap a post, open a profile, view notifications and create or browse more specialized feeds.

The feature list covers the usual social-client jobs: threads, social posting, profile search, QR profile sharing, NIP-05 verification, note composition with mentions and topics, content warnings, mute and keyword mute, profile pages, follow and follower counts, thread muting, collapsed threads, invoice rendering, quote rendering, link previews, image and video rendering, notifications and multi-account support. Coracle is not only a settings dashboard for relays.

The deeper product choice is that those normal actions are surrounded by Nostr-specific controls. A feed can be tied to relays, people or topics. A profile is not simply a row in one database. A message may depend on signer support, relay lists and encryption mode. A zap involves Lightning, wallet setup and Nostr event receipts. Coracle tries to make those details available without forcing every user into a developer view.

Custom feeds are the main reading tool

Coracle's custom feed system is one of its most distinctive parts. The README says feeds can be customized by person, relay and topic using NIP-51. The app source includes feed creation, editing, selection and form components, while the changelog repeatedly mentions feed controls, relay feeds, topic feeds, global feeds, default feeds, WOT feeds and performance work around feed loading.

This matters because Nostr does not have a single canonical home timeline. A user may want a feed from specific people, a feed from a topic, a feed constrained to a relay, a feed shaped by a list or a feed filtered through trust scoring. Coracle's approach lets the reading surface become a user-controlled object rather than an opaque algorithm owned by the platform.

The cost is that the user has to care about what the feed means. A relay feed is not the same thing as a topic feed. A WOT-filtered feed is not the same as a raw global feed. A person list is not the same as a community. Coracle is strongest when the user understands these distinctions and uses them intentionally instead of expecting one default stream to represent the whole network.

Relay management is not hidden

Coracle has spent much of its history working on relay behavior. The changelog includes entries for relay pages, automatic relay discovery, NIP-65 support, relay hints, relay indicators, relay-filtered feeds, relay cards, relay review pages, quote relay selection, inbox relay warnings, local relays, tor or local relays, relay fallback to zaps and broadcasting user relays when publishing. That is not accidental product noise. It is Coracle's core subject.

The source includes views for relay lists, relay detail pages and relay reviews, and shared components for relay cards, relay actions, relay status and relay title. A relay card can show whether a relay is used for reading, writing or messaging, whether it has metadata, which NIPs it supports and what contact or description data it exposes. Those details help users see relays as part of the social interface.

The practical benefit is simple: when a note is missing, a zap receipt does not appear or a DM does not arrive, Coracle gives the user more context than a blank feed. It can show which relays were involved and lets users join, leave, inspect or review relays. That does not make the relay layer effortless, but it makes the network less mysterious.

Web of trust is a moderation choice

Coracle uses web-of-trust scores to reduce spam and improve feed or group suggestions. The README names web-of-trust based moderation and content recommendations, and the feature list says WOT scores help produce less spam and better group and feed suggestions. The changelog has repeated entries for WOT feeds, WOT badges, WOT popovers, WOT display changes and hiding muted replies.

This is a meaningful moderation model. Instead of one company deciding what everyone sees, Coracle can let the user's social graph influence which people, posts, groups and feeds feel trustworthy. A WOT score can make a feed less noisy without requiring a universal blacklist. It can also help a group or community recommend relevant accounts without pretending that relevance is objective.

The risk is that trust systems can become invisible bias machines if users do not understand them. A web of trust can improve spam resistance, but it can also reinforce cliques or hide unfamiliar voices. Coracle's interface needs to make WOT visible enough for users to notice when it is shaping a feed. Used carefully, it is a reader-controlled filter. Used blindly, it becomes another algorithm with softer branding.

Login is deliberately flexible

Coracle supports several login paths. The README lists login via browser extension, nsecbunker and pubkey. The changelog adds work around NIP-46 signer connections, NIP-55 Android signer support and bunker login fixes. The package also depends on `@welshman/signer` and a `nostr-signer-capacitor-plugin`, which points to the product's split identity as both web app and Android package.

For a web client, signer choice is not cosmetic. A browser extension can sign events without handing the web app a private key. A bunker-style remote signer can move signing authority to another service or device. Pubkey login can offer read-only browsing. Android signer support lets a mobile package integrate with the platform's Nostr signing flow. Each option changes the user's security model.

A careful Coracle user should know how they logged in. Read-only pubkey browsing is not the same as posting. A browser extension is not the same as pasting an nsec. A remote signer is not the same as a local mobile signer. Coracle gives users multiple doors because Nostr identity is portable, but portability only helps when the user understands which door is active.

Zaps and Wallet Connect sit inside the client

Coracle supports Lightning zaps and Nostr Wallet Connect. The README lists Lightning zaps and reactions, NWC support, wallet setup onboarding and a platform zap split configuration. The source includes wallet settings, wallet connect and wallet disconnect views, plus a zap view that handles zap messages, amounts and split payments. The changelog shows ongoing work on zaps, NWC wallet management and zap receipt fetching.

This makes Coracle a social client that can participate in Nostr's money layer without becoming a wallet. The app can help a user set up a wallet, open a zap dialog and send sats to a note or person. NWC allows the app to request wallet actions through a separate wallet connection. That is useful because the feed can stay a feed and the wallet can stay a wallet.

The same warning applies here as with every NWC client: a wallet connection should be scoped. The user should know which wallet is connected, which spending permissions exist, whether the connection has a budget, whether it expires and which app is allowed to use it. Coracle makes zaps feel social, but the money boundary belongs in the wallet configuration, not in vibes.

Communities, groups and lists are not side quests

Coracle supports several group-like surfaces. The README lists NIP-72 communities, NIP-87 closed groups, private group calendars and listings, cross-posting between communities and the main feed, NIP-51 person lists, customizable and shareable feeds and lists, and customizable invite links. The source includes group list, invite creation, invite acceptance, list create, list edit and list detail views.

This is where Coracle's white-label direction starts to make sense. A group may not want a generic global Nostr feed. It may want its own look, default follows, onboarding lists, relays, upload providers, zap split, market toggle and app copy. The README says Coracle is intended to be fully white-labeled by groups, and the environment template exposes many of those knobs.

Communities and closed groups also reveal a hard Nostr problem. A community needs membership, moderation, discovery, calendar events, posts, listings, invitations and relay choices, but Nostr does not give a platform owner one centralized membership table. Coracle's group and list tools are attempts to build usable social spaces from events, relays and signer-controlled identity.

White-labeling changes who Coracle is for

Coracle is not only `coracle.social`. The README explicitly says the app is intended to be white-labeled by groups of various kinds. The environment variables allow a maintainer to define dark and light themes, DVM relays, search relays, default relays, default follows, onboarding lists, upload providers, Dufflepud URL, platform zap split, platform pubkey, app name, app URL, app logo, wordmarks, app description, client name, client ID and market availability.

That configuration surface is unusually important. It means Coracle can be a community shell, not just a single public client. A group can choose the people new users see first, the relays the app trusts by default, the upload providers it prefers and whether markets or zaps are enabled. The app can become a branded interface over Nostr without cutting users off from protocol portability.

The tradeoff is governance. A white-labeled instance has defaults, and defaults matter. They shape who feels visible, which relays receive traffic, which upload services hold files and where zap splits go. A reader using a Coracle instance should ask whether they are using the generic public app or a customized community build, because the interface can look similar while the defaults differ.

Media depends on helpers and upload paths

Coracle renders links, images, videos, invoices and previews, and it supports media upload paths. The README says integrated media uploads use NIP-96, while the changelog later records a period where NIP-96 support was dropped and user Blossom servers were used. The environment template currently lists Blossom URLs and a Dufflepud service URL for link previews and image uploads.

This shows a familiar Nostr media tension. Social users expect media to just work, but Nostr events usually reference media rather than hosting it. A client needs upload providers, preview generation, proxy choices, file metadata, authentication and privacy controls. Dufflepud helps Coracle with previews and uploads; Blossom-style storage gives users another route for media hosting; NIP-96 and NIP-98 provide protocol hooks for HTTP storage and auth.

The user-facing question is where the file goes and who can see the request. Uploading media to a helper service is not the same as publishing text to relays. Fetching link previews can reveal what a user is reading. A Coracle instance's configured Dufflepud and Blossom services therefore belong in the trust model, especially for communities that want predictable media behavior.

Markets and calendars show the app's range

Coracle has supported more than notes and follows for a long time. The README lists NIP-99 classifieds, NIP-52 calendar events, private group calendars and listings, and a market toggle in the environment configuration. The changelog includes entries for NIP-52 time-based calendar event publishing and rendering, NIP-99 classifieds publishing and rendering, price tag frequency support and several community or calendar fixes.

These features matter because they show Coracle treating Nostr as an event system, not only as a social timeline. Calendar events, listings and community posts can all be signed events that clients interpret differently. A group using a white-labeled Coracle instance might care more about events and listings than public microblogging. That is a different product rhythm from a normal global feed.

The caveat is that specialized Nostr event types need other clients and relays to cooperate. A listing that only one client renders well is less portable than a text note. A private group calendar depends on relay access, signer behavior and client compatibility. Coracle's range is a strength, but users should test which partners, relays and clients understand the same event types before relying on them for a real group.

The Welshman stack underneath

Coracle is built with Svelte, Vite and a family of Welshman packages. The package metadata includes `@welshman/app`, `@welshman/content`, `@welshman/editor`, `@welshman/feeds`, `@welshman/lib`, `@welshman/net`, `@welshman/router`, `@welshman/signer`, `@welshman/store` and `@welshman/util`. That stack is part of why Coracle can work as both an application and a source of reusable Nostr patterns.

The Welshman packages appear across the codebase: signer handling, relay derivation, event routing, feed construction, app state, content parsing, editor behavior and utility functions. Coracle's app files then compose those pieces into views for home, search, feeds, relays, wallet settings, messages, groups, lists, publishing and notifications. The architecture is not a thin HTML shell around one API call.

For developers, this matters because Coracle is also a reference point for building relay-aware applications in Svelte. A reader interested in product use can ignore the internals. A builder should notice them. Coracle's real contribution may be partly in the open-source app and partly in the library approach that makes relay routing, feeds, signer state and event repositories easier to reuse.

PWA first, Android also present

Coracle's public app is a web app, but it is not only a website in the old sense. The README lists installable PWA support, and the Vite configuration generates favicons, manifest data, protocol handlers and PWA assets. The live site advertises a web app manifest and includes content security policy settings, Plausible analytics and app metadata for the Coracle brand.

Android support exists through Capacitor. The README includes Android build instructions, `package.json` has Capacitor dependencies and release scripts, and the Android manifest sits in the repository. The changelog includes safe-area fixes, Capacitor upgrades, NIP-55 signer library upgrades, `ws://` relay support on Android and database export fixes on Android. That is real platform work, not just a browser shortcut.

Even so, Coracle's center remains web and PWA. A user can open it from the browser, install it like an app and carry the same client shape across devices. Android packaging helps mobile users and signer integration, but Coracle should be compared primarily with serious web clients and community shells, not with a native mobile-first client like Amethyst.

Privacy is partly about defaults

Coracle's README names privacy protection, and the product choices make that concrete in several ways. Relay selection lets users decide where events are read and written. Web-of-trust filtering can reduce spam without relying on one moderation operator. Signer options can keep private keys out of the web app. Pubkey login can allow read-only browsing. Local relay and tor or local relay work appear in the changelog.

Privacy also depends on instance defaults. The environment template includes default relays, search relays, signer relays, DVM relays, indexer relays, default follows, onboarding lists, Blossom URLs and a Dufflepud helper. A white-labeled community can make reasonable choices for its members, but those choices shape network exposure. Search and upload helpers can see requests. Default relays can see traffic. Default follows shape the first social graph.

The safest Coracle habit is to inspect defaults, not merely trust branding. Which relays are used? Which upload providers are configured? Are zaps enabled? Is a platform zap split active? Which signer method is used? Which feeds are WOT-filtered? Coracle gives the user and instance operator many controls, but privacy comes from understanding how those controls combine.

What to test before relying on it

A practical Coracle test should begin with login. Open the app with a read-only pubkey, then with the signer method you actually plan to use. Confirm that posting, replying, reacting and editing profile data behave as expected. If using Android, test the signer integration and database export path. If using a remote signer or bunker, test connection recovery and what happens when the signer is offline.

The second test should be relay behavior. Create or inspect a feed, change relay constraints, open relay detail pages, review which relays are used for reading, writing and messaging, and publish a test note while watching which relays accept or reject it. Then search for the same note from another client. This reveals whether Coracle's relay model matches the user's expectations.

The third test should cover money, media and groups. Connect a wallet with a small NWC budget, send a tiny zap, verify zap receipts, upload a harmless image, inspect the configured upload path, create or join a low-risk group, test an invite link and try a list-based feed. Coracle's strength is many surfaces working together. A user should test those surfaces together before trusting them with a community.

Who Coracle fits best

Coracle fits users who want more control over the shape of their Nostr feed than a default timeline gives them. It is especially useful for people who care about relay choice, custom feeds, web-of-trust filtering, communities, lists, Nostr search, zaps and white-label group spaces. It also fits builders who want to study a working Svelte client built on reusable Nostr libraries.

It is less ideal for someone who wants every hard Nostr concept hidden. Coracle can be friendly, but it is not trying to erase relays, lists, trust graphs, signer choices and community defaults from view. Those are part of the product. A simpler client may be better for a first five minutes. Coracle becomes more valuable once the user starts asking why a feed looks the way it does.

For communities, Coracle is particularly interesting because it can be configured as a branded interface with chosen defaults. That makes it useful for groups that want Nostr identity and portability without sending every member into a generic global app. The group should still document its defaults clearly. A white-labeled client is only empowering when users know what has been preselected for them.

The reader takeaway

Coracle is one of the most important Nostr clients for understanding the relay-shaped version of social media. It does not simply fetch notes and display a feed. It turns relays, relay hints, relay reviews, custom feeds, lists, WOT scores, zaps, communities and white-label configuration into visible parts of the app experience.

That makes it less polished in the single-platform sense than a tightly controlled centralized app, but more honest about what Nostr is. The network is not one server. It is many relays, many clients, many signers, many communities and many defaults. Coracle gives users a way to work with that reality instead of hiding it until something breaks.

The best way to use Coracle is deliberately: choose a signer, inspect relays, understand feed filters, keep wallet permissions small, check upload helpers and know whether the instance is generic or white-labeled. Used that way, Coracle becomes more than a web client. It becomes a map of how Nostr social software can be assembled.

Sources worth opening

Useful primary sources are Coracle's own site, repository, README, changelog, package metadata, environment template, app source files, funding page, related Welshman and Dufflepud projects, and the NIPs behind its relay, feed, signer, wallet, community and media behavior.

Back to the Crays Nostr page
Apps route visual cue 1
Apps route visual cue 2
Apps route visual cue 3
Apps route visual cue 4
Apps route visual cue 5

How to use this page

Find the social surface first.

Search social apps, relay behavior, wallet hooks, media flows or privacy notes when you need a source file or comparison clue.

Social appsKeep exploring social appsApp routeProducts, categories, relay context and source trails.Browse apps
Apps route visual cue 1
Apps route visual cue 2
Apps route visual cue 3
Apps route visual cue 4
Apps route visual cue 5

Bring something back

Ask, suggest, submit or nominate.

Use these links when something is missing, a source is stale, or a public Nostr builder belongs in the map.