Wallets often have profiles on other DApps; allow them to import their profile_image, username, and bio for quicker onboarding.
Wallets are shared across Tapestry. Create Profile will create a Profile Node in your namespace, and like it to a wallet shared across namespaces.
Each DApp can read and write from its own data (namespace). You should create profiles for your users in your namespace. This allows your profiles to interact with each other (follow, like, comment, create content, etc.).
Identities endpoint allows your app to see a wallet address’s profiles on other namespaces. This is useful for making onboarding seamless. Endpoints like Suggested Profiles also read across namespaces so your users can find profiles of people they may follow on other apps (”walk into a new party but already have friends”).
Tapestry requests shouldn’t happen on the client’s browser as it will leak keys, but can happen on NextJS API Routes or the applications backend.
Live here: https://sse.gg/
You can either pick a random one from the GET identities response
or prioritize based on popularity (list ordered by number of profiles descending)
| readableName | namespace |
|---|---|
| Farcaster | farcaster_external |
| SNS | solananameservice |
| X | x |
| Tops.fun | topsfun |
| All Domains | allDomains |
| LORE.xyz | refractor |
| Primitives | primitives |
| SSE | nemoapp |
| Tribe.run | tribe.run |
| dotblink | durango |
| Access Protocol | accessprotocol |
once you’ve selected a profile for the user, pass the data from the user selection into the POST profiles findOrCreate endpoint
Then show them their name, profile pic, and bio in the UI