Crays.net
Open Crays.net as the daily product surface of our ecosystem: your Nostr identity, venue context, member status, creator activity, wallet actions and local Crays moments have to become clear enough to use.
The app is where our promise has to behave
We can explain Crays beautifully on public pages, but the app is where you find out whether the story has hands. A network of venues, creators, members, projects, capital routes, coffee rituals and hospitality moments is easy to describe in a deck. It is much harder to make it feel simple when you are holding a phone, standing in a room, trying to meet the right person, pay the right amount, unlock the right benefit or understand why a badge suddenly matters.
That is why we do not treat the app as a side door. We treat it as the daily product surface. When you open it, you should not feel that you have entered a generic social feed with a Crays logo on top. You should feel that your identity, your current place, your member context, your creator relationships, your messages, your permissions and your wallet-adjacent actions have been arranged around real life. The app has to make the ecosystem usable before the ecosystem can be trusted.
The public Crays.net page currently returns a JavaScript app shell when fetched without a browser. That matters for research because the static HTML alone does not prove the live app experience. We should be honest about that. The surrounding Crays pages describe the Crays Community Nostr Client as live across web, iOS and Android, and the Tech page explains how Nostr identity, OpenClaw, venue mesh, Lightning, RGB-style rights and hospitality rails are supposed to work together. The app is where those claims have to become understandable actions.
The first product question is therefore simple: when you arrive, do you know what you can do next? A good Crays.net session should not begin with protocol anxiety. It should begin with human context. You are here. This is your profile. These are the people, venues, groups, campaigns or opportunities that matter now. This action requires a signature. This payment uses a wallet permission. This badge came from this issuer. This venue sees only this part of your context. This message is private. This post is public. This access right applies here and not there.
If the app gets that layer right, Nostr becomes quiet power. You do not need to stare at event kinds while ordering coffee, joining a dinner or following a creator. But the proof should still be there when you want to inspect it. That is the Crays product challenge: make the protocol disappear from the daily flow without hiding the control it gives you.
A normal social app can optimize for attention. We cannot stop there. Our app has to optimize for recognition, trust and action. Recognition means you can carry one identity through different Crays rooms. Trust means you can see who issued a role, why a venue is credible and what a payment does. Action means the app does not leave you inspired but stuck; it helps you book, enter, message, vote, tip, publish, claim, apply, order or meet.
That is a much harder job than building a feed. It demands restraint. The app should not show every possible feature at once because the ecosystem is broad. It should stage your choices according to the moment. If you are reading a creator profile, fan actions and paid content matter. If you are near a venue, access, events, reservations and local people matter. If you are managing your identity, signers, relays, badges and privacy matter. If you are in a governance surface, proposal status, issuer identity and role boundaries matter. The same Nostr rail can support all of that, but the screen has to know which job it is doing.
Your identity should move before the feed moves
A normal membership product makes you create an account inside its own database. That can work for a single club or a single app, but it breaks the moment you want one identity to move through Crays Club, Crays Coffee, Crays World venues, creator campaigns, award voting, project conversations and future governance. You should not have to rebuild yourself for every room. Your public identity should travel first, and the local experience should adapt around it.
Nostr is useful because the basic identity model starts with keys and signed events instead of a platform account. NIP-01 gives the network the event grammar: a public key signs objects that relays can carry. That sounds technical, but the practical meaning is simple. When you publish a profile, follow someone, award a badge, send a public note, reference a creator event or point to a venue identity, the claim can be signed by a key instead of trapped inside one company's database.
For Crays, that matters because our ecosystem crosses categories. A member profile should be recognizable in an app, but also useful near a venue. A creator profile should be visible during a campaign, but not disappear after a platform changes strategy. A venue account should be tied to an issuer people can inspect, not just to a nice image. A project identity should connect back to the public route, the association logic and the operator behind it. A role should be portable enough to be checked, but precise enough not to overpromise.
The most important product discipline is not letting “portable identity” become an abstract slogan. The app has to show you what your identity does in a specific moment. Are you using a public profile? Are you signing a message? Are you joining a local venue context? Are you accepting a badge? Are you connecting a wallet? Are you exposing your presence? Are you proving a membership status? These are different actions. They should not feel like one large permission fog.
NIP-05 can help here when we use domain-backed names carefully. A Crays-issued identity should be easier to recognize when it resolves through a domain we control. That gives you a first anchor: not complete trust, but a cleaner starting point than a random profile picture. The app should surface that anchor in plain language. You should be able to see whether an account, venue, creator route or issuer is connected to an official domain, and you should also see what that connection does not prove.
Follows and social graph data need the same discipline. In a normal feed app, following someone mostly changes what you see. Inside Crays, your graph may also shape introductions, event suggestions, creator discovery, venue context and community reputation. That can be valuable if it is consented and legible. It becomes creepy if the app silently turns every social move into operational intelligence. You should know when a signal is just social and when it can influence matching, access or recommendations.
Profile data is another boundary. A Nostr profile can include a name, picture and bio. Crays contexts may need much more: member status, city preference, event interests, creator roles, payment settings, venue history, access rights, professional context, maybe travel rhythm. Not all of that belongs in public Nostr metadata. The app has to separate public identity from private context. We should let you prove enough to move through the ecosystem without turning your life into a public dossier.
The clean version feels almost ordinary. You have one identity. You understand where it is public. You understand which local context is private. You can carry your social graph and reputation without being locked into one interface. You can leave a venue and keep your identity. You can use another Nostr client for public objects where appropriate. You can disconnect sensitive permissions. That is the kind of portability worth building.
Signing has to feel safe, not mysterious
If Crays.net touches identity, access, content and wallet-adjacent actions, signing is not a minor detail. It is the trust moment. You need to know when the app is asking for your public key, when it wants you to sign an event, when it wants remote signing, when it wants an encrypted action and when it is only asking to read. If those moments are vague, the product teaches bad habits.
NIP-07 is the familiar browser pattern: a web app can check for a `window.nostr` object, ask for your public key and ask the signer to sign an event. That is useful because the website does not need to hold your secret key. But it still needs good UX. You should see what kind of event you are signing, why it is needed, whether it will be public, whether it updates your profile, whether it posts content, whether it accepts a role, whether it authorizes access or whether it triggers something with money nearby.
Mobile and cross-device use make this more delicate. NIP-46 remote signing can let a client communicate with a remote signer through encrypted requests. That is powerful for an ecosystem where you may move between phone, browser, venue display, creator tool and member interface. It also increases the responsibility of the app. A remote signer flow should not feel like magic. It should show the client name, requested permissions, relay path where relevant, session status and a clear way to end the connection.
We should avoid the lazy version of Nostr onboarding. Never make the user feel that pasting an `nsec` into a random form is normal. Never blur the difference between a login, a signature, a wallet connection and a payment approval. Never ask for broad permissions when a narrow one would do. The more premium and real-world the Crays experience becomes, the less tolerance we should have for sloppy key handling.
Good signer design is calm. It says: this app wants your public key so it can recognize you. This action signs a public profile update. This action signs a private or encrypted request. This action publishes a badge acceptance. This action connects a wallet permission. This session can be revoked here. This relay will carry the request. This data will not be shared with the venue. That kind of plain language does more for trust than any abstract claim about decentralization.
The app also has to respect different user maturity levels. Some people will arrive with Alby, Amber, a bunker or another signer pattern already in hand. Others will arrive because a Crays event, coffee node, creator campaign or venue invitation pulled them in. The product should not punish either group. Advanced users should be able to inspect and control. New users should be protected from dangerous shortcuts and guided into safer custody choices.
There is also a brand issue here. If Crays asks serious people to use an app around money, identity and places, the signing experience becomes part of our service quality. It should feel as polished as a hotel check-in and as explicit as a financial confirmation. You should not be forced to decode raw protocol language at the wrong moment, but you should always be able to open the detail when it matters.
Venue context is the product edge
Most social apps know you as a profile and a feed. We need to know you as someone moving through places. That changes the whole product. A Crays moment can happen in a coffee shop, a club, a hotel, a rooftop, an event, an island project, a private dinner or a creator room. The app cannot treat all of those as posts. It has to understand place, timing, access, local rules, service actions and social context.
Crays World describes venues as local operating layers. The Tech page goes further: Super Nodes, local relays, mesh, Lightning-ready payments, ordering, booking, CRM, POS, PMS, guest discovery, local services and AI-routed demand. You do not need all of those words while standing at a bar. You need the outcome. The app should tell you what this place offers, what you can access, who is hosting, which people or events are relevant, how to request service, how to pay, and which part of your identity is being used.
This is where we can become meaningfully different from a generic Nostr client. A normal client can show public notes. Our app has to translate a physical context into a readable digital layer. If you are at a Crays Coffee node, the useful actions may be loyalty, payment, local discovery, a casual meet-up or a quiet profile view. If you are in a club, the useful actions may be access, event flow, introductions, creator appearances, table context or member rooms. If you are in a resort or island property, booking, local services, stay history, group experiences and payment receipts matter more.
Local relays can help because a venue is not only a GPS coordinate. It is a temporary social graph. People may be in the same building, attending the same event, staying at the same property or joining the same campaign. A local relay or venue-specific relay can carry context that does not need to live forever on every public relay. But the app must explain the difference. Is this event local? Is it public? Is it stored? Can other clients see it? Does it expire? Does the venue moderate it? Can you leave the local context?
Mesh language also needs translation. The point is not that your phone becomes part of an impressive technical diagram. The point is that a venue can keep local discovery, messaging or services useful even when normal connectivity is weak or when the room benefits from proximity. If that ever becomes active in a Crays venue, the app should tell you plainly what is happening. Are you visible nearby? Are you participating in local peer discovery? Is this optional? What changes when you turn it off?
Payments are part of venue context too. A table deposit, a coffee purchase, a creator tip, a ticket, a room booking and a premium unlock are not the same thing. They can all touch a wallet, but the app should label them differently. If a venue uses Lightning-ready payments, you should see the amount, purpose, recipient, refund or cancellation logic where relevant, and whether the payment creates a public signal such as a zap receipt or only a private commercial receipt.
The deeper product challenge is avoiding social pressure. In a real room, you may want visibility one minute and privacy the next. You may want to be discoverable at an event but invisible while taking a business call. You may want a host to see your member status without exposing your full network. You may want to pay without broadcasting your presence. The venue layer should offer context, not force exposure.
Done well, we give you local usefulness without local lock-in. You can enter a place, use what the place offers, meet people, pay or participate, and still leave with your identity intact. The venue becomes smarter because the app understands the moment. You stay free because the account is not owned by the room.
Creators and payments sharpen the trust boundary
Crays is not only a venue network. Creator activity is part of the public surface: profiles, fan relationships, paid content, campaigns, awards, votes, live moments, subscriptions, tips and unlocks. That makes the app exciting, but it also makes the trust boundary sharper. A fan action can feel playful while still moving money. A vote can feel social while still shaping a contest. A zap can feel like applause while still creating a public receipt. A paid unlock can feel like content access while also creating rights and revenue records.
NIP-57 zaps are useful because they connect Lightning payment behavior with Nostr social context. But the app should not flatten every payment into a zap. A zap is a social payment signal. A purchase is not the same thing. A table deposit is not the same thing. A vote fee is not the same thing. A subscription is not the same thing. A creator payout is not the same thing. You should be able to see the difference before you tap.
NIP-47 Nostr Wallet Connect matters because it can let a client communicate with a wallet service through a standardized, encrypted Nostr-based flow. That can keep the app from directly holding your wallet while still enabling wallet actions. The quality bar is high. You should know which wallet service is connected, what budget or method is allowed, which actions are possible, which relays are involved where relevant and how to revoke the connection. A “connect wallet” button that does not explain its limits is not good enough for our use case.
Crays Award makes this concrete. The public award route describes fan voting, creator earning, reward pools and a live Cannes horizon. If those flows enter the app, Crays.net must distinguish fan enthusiasm from financial commitment, voting from tipping, reward participation from purchase, and creator payout from platform balance. Culture can be fun and still need clean rails. In fact, the more emotional the campaign, the clearer the rails have to be.
Paid content raises another issue: proof without overexposure. A creator may want to prove that you bought access, joined a group, voted, tipped or unlocked a file. You may not want every detail public. The app should think carefully about what becomes a public event, what stays encrypted, what belongs in a wallet receipt, what lives in a private app database and what can be verified later. Nostr gives us tools, not automatic judgment.
Creator UX should also protect creators from platform dependency. If a creator brings their audience into Crays, they should not feel that the relationship disappears inside a black box. Public profiles, follows, badges, zaps and campaign references should remain understandable beyond one app screen where possible. Private sales and sensitive records can stay protected, but the creator should know what they own, what Crays hosts, what the audience can carry and what happens after a campaign ends.
For you, the product test is practical. Can you tell whether a button costs money? Can you tell whether a payment creates a public signal? Can you see who receives value? Can you cap wallet permissions? Can you disconnect quickly? Can you understand whether a vote is counted once, publicly, privately or through a campaign-specific rule? Can you distinguish a role badge from a paid perk? If those answers are visible, the app earns trust. If they are hidden, the entire ecosystem starts to feel less serious.
Badges, roles and reputation need plain meaning
Badges are one of the easiest places to sound modern and become useless. A badge can mean access, contribution, identity, taste, attendance, operator approval, creator status, governance role, venue membership or nothing at all. If we use badges loosely, you will see colorful symbols and still not know what you can do. If we use them carefully, they can make Crays roles portable and inspectable.
NIP-58 defines a badge system with badge definitions, badge awards, profile badge lists and badge sets. In plain language: an issuer can define a badge, award it to one or more public keys, and a user can choose which badges to display. That is useful for Crays because roles move across surfaces. A venue operator, creator, association member, event host, local ambassador, award nominee or technical contributor could hold a badge that has a clear issuer and a clear meaning.
The issuer is the key. A badge issued by an unknown account is just decoration. A badge issued by an official Crays key, a venue key, a campaign key or an association-approved issuer can carry meaning if the policy is public. The app should show that source. You should be able to tap a badge and learn who issued it, what it means, when it was issued, whether it expires, whether it can be revoked and what permissions it does or does not grant.
We should separate recognition badges from permission badges. Recognition says you did something, attended something or earned community acknowledgment. Permission says you can access, operate, vote, host or represent something. Mixing those categories is dangerous. If a creator badge looks like an operator badge, people can misunderstand authority. If a fan badge looks like a member badge, venues can make mistakes. If a governance badge looks like a financial credential, trust breaks quickly.
Reputation needs even more restraint. The Tech page talks about reputation, social signals and demand. That can be useful when it helps match people, suggest rooms or recognize contribution. But reputation can become a social credit machine if designed carelessly. We should not reduce people to opaque scores. If the app uses reputation signals, you should know the broad ingredients and where they are applied. Attendance, payments, zaps, creator activity, role history, venue behavior and governance participation are not equivalent signals.
Role boundaries also protect staff and operators. A venue may need to know that you are a member, but not your full contribution history. A campaign may need to know that you are eligible to vote, but not your venue history. A governance process may need to know that you belong to a group, but not your private messages. The app should give each context the minimum useful proof, not the maximum possible data.
This is where we can make Nostr feel civilized. Instead of throwing raw badge events at you, the app can translate them into human roles: member, host, operator, creator, nominee, supporter, verified venue, association issuer, pilot partner, revoked role, expired access. The wording matters. The screen should never make you guess whether a badge is symbolic or operational.
Local intelligence must not become surveillance
Our technology story uses strong language around intent, matching, local mesh, venue intelligence and AI coordination. That can make a real place feel alive. It can also go wrong if the app collects too much, explains too little or lets venues see more than they need. A premium experience should feel intelligent, not watched.
Start with presence. Being in a room is sensitive. You may be comfortable appearing in a public event list, or you may want to stay invisible. You may want the host to know you arrived, but not other guests. You may want a friend to see you, but not the whole venue. You may want to be discoverable for one hour and then disappear. The app should treat presence as a permission, not a default assumption.
Then think about local matching. OpenClaw-style coordination can become useful when it connects people, events, offers and venues around time and context. But matching should be explainable. You should know why a suggestion appeared in broad terms: shared event, nearby venue, mutual connection, creator interest, member group, previous permissioned signal, booking context. “The algorithm thinks so” is not enough when the recommendation affects real people in a real room.
Venue data must be bounded. A hotel, club or coffee node may need access state, booking details, order context, loyalty status, payment confirmation and local service requests. It does not need unlimited access to your wider social graph, wallet history, private messages or unrelated Crays activity. If data flows from the app to a partner system, the product should make the boundary understandable. The most trustworthy system is often the one that says clearly: this venue can see this, and nothing more.
Public Nostr data and private Crays context need different handling. Public posts, profiles, follows and zaps may travel through relays. Private membership details, local venue sessions, sensitive payments, dispute records or KYC-adjacent capital conversations should not leak into public flows by accident. We should design with that separation from the start, because retrofitting privacy after launch is painful and usually incomplete.
Relay choice is part of privacy. A public relay, a local venue relay, an authenticated relay and an archival relay have different jobs. The app should not make every event travel through every relay. NIP-65 relay lists and NIP-11 relay metadata can help clients understand where data is meant to live and what a relay claims to support. For you, the important part is simple: where did this go, who can read it, and how long should it matter?
AI coordination adds one more layer. If OpenClaw reads intent from profiles, posts, location, payments or reputation, we need consent and restraint. The useful version helps you meet the right person, find the right table, discover the right event, book the right stay or route a service request. The bad version feels like invisible profiling. The app has to make AI assistance feel like a concierge you can understand, not a hidden judge.
This privacy work is not against our vision. It is what makes the vision livable. People with real businesses, reputations, families, investments and public profiles do not want a toy network. They want control. If we give you useful local intelligence while letting you decide how visible you are, the product can feel premium in the only way that matters: it respects your life.
What you should test before you rely on it
Do not judge Crays.net only by screenshots or by the beauty of the surrounding ecosystem pages. Use it like a serious identity product. Start with a low-risk key or read-only path if the product offers one. Check how login works. Look at signer prompts. Notice whether the app explains what becomes public. Try to understand which relays it uses. Follow a profile, inspect a creator, open a venue surface, look for badge issuers and see whether the same public identity makes sense outside the Crays interface.
Then test the Crays layer. Does the app explain member status in plain language? Can you see why a venue, creator or issuer is trusted? Are rewards and badges defined clearly? Do messages, notifications, bookmarks, follows and profile updates behave like portable Nostr objects or app-only conveniences? Either can be acceptable, but the app should not hide the distinction. You should know what travels and what stays inside Crays.
Test payment boundaries slowly. A wallet-connected product deserves care. Look for budgets, scopes, method names, revocation paths and clear labels. Try to distinguish a zap from a purchase, a deposit from a vote, a content unlock from a subscription and a venue payment from a creator payment. If the app makes those differences obvious, it is doing serious work. If it turns all money movement into one stylish action, slow down.
Test local context when a venue flow is available. Can you enter a venue context without exposing too much? Can you leave it? Can you see who is nearby only when you choose? Can staff verify your access without seeing your entire social history? Can local events or service requests stay local? Can a venue explain its relay, privacy and payment behavior? The venue layer is where the app has to be most human because the consequences happen in the room with you.
Test recovery and exits. If you lose a signer, change devices, revoke a wallet connection, leave a venue, remove a badge from your profile or stop using Crays for a while, what happens? A trustworthy product has boring answers to boring questions. Where do you disconnect? What remains public? What can be deleted or replaced? Which public events cannot be recalled? Which private records does Crays or a venue retain for operational reasons?
Finally, test whether the app reduces friction or adds ceremony. A Crays product should feel smooth in daily use. If you need a protocol lecture every time you open a door, order coffee or support a creator, the UX is too heavy. If you can do those things without ever understanding what you approved, the UX is too vague. The right middle is rare: elegant on the surface, inspectable underneath.
That is the ambition we should hold Crays.net to. It is not a generic Nostr client, and it should not pretend to be one. It is our reader-facing, member-facing, venue-facing bridge between open identity and real-world lifestyle infrastructure. That makes it harder to build, but also much more interesting. If we get it right, you do not just scroll Crays. You carry it with you.
One more test belongs here because app trust is built during boring moments. Change a device. Lose a session. Reject a signer request. Try a failed wallet payment. Open the app in a weak connection area. Move from a coffee reward to a venue context and then back to your profile. A product surface that only works in a perfect demo will not survive hospitality. You need to know what happens when the floor is busy, the member is impatient, the host is under pressure and the network is unstable. Recovery paths are part of the experience, not support afterthoughts.
Also watch how the app explains uncertainty. A venue might be live, planned, pilot-only or partner-operated. A badge might be recognition, access or governance. A wallet action might be a zap, purchase, booking, tip, deposit or future investment-related step. The interface should label those differences before you ask. If we want Crays.net to carry identity across real places, it has to be more precise than a normal social client. It has to speak the language of rooms, money, trust and consent.
Sources worth opening
Use these sources to check the product claim in layers: the live app shell, our technology page, the venue layer, the creator and award route, and the Nostr standards that define identity, signing, wallet connections, zaps and badges.
