AFK-AlignedFamKernel
afk_monorepo
TypeScript

AFK: Aligned Fam Kernel - Monorepo

Last updated Feb 27, 2026
19
Stars
59
Forks
29
Issues
0
Stars/day
Attention Score
71
Language breakdown
TypeScript 56.4%
Cairo 31.6%
Go 4.9%
SCSS 2.1%
Python 1.6%
Solidity 1.0%
Files click to expand
README

afk</em>aligned<em>fam</em>kernel logo

Starknet Test Workflow Status

Built with React Native

Website | Telegram | Twitter

Overview

Decentralized social built with Nostr and powered by Starknet account abstraction.

Origin story

The name "Aligned Fam Kernel" is inspired by our vision to align the web3 family together, in one Social graph.

We build and fight together, not against. What if the treasures are the friends we made along the way? Then A decentralized social network should be a treasure trove of memories and connections!

Yes! This is what social networks should be about. A place where you can be yourself, express your thoughts and feelings, and connect with others.

Freedom requires censorship resistance, and Nostr provides exactly that.

Contribute

Register to Only Dust to get rewarded for your contributions.

Tech stack:

Monorepo

We use Turborepo for the monorepo.

  • Onchain (Cairo & Solidity): /onchain
  • Scripts: Run & deploy Cairo code
Apps:
  • Mobile: apps/mobile
  • Website landing page: apps/website
  • Backend: apps/data-backend
  • Indexer Apibara: apps/indexer
Packages:
  • Common: packages/common
  • Prisma indexer pull: packages/indexer-prisma
  • Nostr sdk: packages/afknostrsdk

PWA

The current AFK beta test in build using NextJS, located in the apps/pwa.

Current version

  • Setup your .env based on the env.example
pnpm install
cd apps/pwa
pnpm run dev

To do a complete use of the web app, start the apps/data-backend and setup the url in the .env of the PWA app.

pnpm install
cd apps/data-backend
pnpm run start:dev

Mobile

The AFK Mobile app is built with React-native & Expo. Current version

Pick an issue with the labels "mobile" to start work on React-native and contribute!

Test

To test the mobile app, run:

pnpm install
cd apps/mobile
pnpm start

Select Expo web, Android or IOS. You can scan it with Expo GO on your phone.

Architecture

Turburepo located in apps and packages. Read the README.md of the repo you are working on. Maybe you need to run others services to contribute as expected.

Tips

There are two alternatives: WalletConnect, one which expects Nostr users to set up ordinary Starknet wallet like Argent or Braavos, and so called SocialPay which uses custom Account Abstraction contract based on bip340 signature scheme (Nostr native).

Wallet Connect

Tip to a recipient that never accepted the tip and don't have an account on SN
sequenceDiagram
    actor Alice
    actor Bob
    participant backend as Backend
    participant transfer as Deposit Contract
    participant erc20 as ERC20

Note over Alice,erc20: Alice tip is escrowed by the Deposit Contract activate Alice Alice->>erc20: approve(Deposit Contract, x) Alice->>transfer: transfer(Bob Nostr Address, x) transfer->>erc20: transferFrom(Alice, Deposit Contract, x) transfer->>Alice: deposit_id deactivate Alice

Note over Alice,erc20: Bob claims the tip with his Nostr identity activate Bob Bob->>backend: claim(deposit_id) Note right of Bob: deposit_id is signed<br/> with Nostr key backend->>transfer: claim(deposit_id) transfer->>erc20: transferFrom(Transfer Contract, Bob, x) deactivate Bob

Tip to a recipient that earlier accepted the tip
sequenceDiagram
    actor Alice
    participant transfer as Deposit Contract
    participant erc20 as ERC20

activate Alice Alice->>erc20: approve(Deposit Contract, x) Alice->>transfer: transfer(Bob Nostr Address, x) Note left of transfer: Deposit Contract knows<br/> Bob's SN address transfer->>erc20: transferFrom(Alice, Bob, x) deactivate Alice

SocialPay

Alice sends tokens to Bob
sequenceDiagram
    actor Alice
    actor Bob
    participant SocialPay gateway
    participant Starknet Node
    participant Alice Account
    participant STRK Token

Alice->>SocialPay gateway: @AFK send 10 STRK to @bob activate SocialPay gateway SocialPay gateway->>Starknet Node: SocialPay transaction Starknet Node->>Alice Account: SocialPay handler Alice Account->>STRK Token: transfer Starknet Node->>SocialPay gateway: SocialPay transaction complete SocialPay gateway->>Bob: @bob you just received 10 STRK from @alice SocialPay gateway->>Alice: @alice transfer of 10 STRK to @bob is complete deactivate SocialPay gateway

Modules

Onchain

The onchain components of the project are implemented as a suite of Starknet smart contracts.

Located in /onchain.

Build

To build the project, run:

scarb build

Test

To test the project, run:

snforge test

Resources

Fork

We build into the Joyboy repo here from the Exploration team:

[Exploration team repo]

Exploration_Team

AFK Aligned Fam Kernel is born from this open source project.

Now we keep building and move forward!

Roadmap

MVP

  • [x] Cairo implementation of Nostr signature verification
  • [x] Starknet account contract implementation, controlled by Nostr keypair
  • [x] AFK landing page
  • [x] SocialPay feature to send and receive tips through Nostr signed messages
  • [x] Implement a Nostr client application with Starknet integration
  • [x] Run Nostr relay server

Now

  • [ ] Complete Nostr client
  • [ ] ZAP
  • [ ] Launchpad & Pump it
  • [ ] Questings
  • [ ] Social games
  • [ ] BTCFi and Bridge
  • [ ] Onramp offramp
  • [ ] Crossover with Vault to bring Social features to the Vault application

Contributors ✨

Thanks goes to these wonderful people (emoji key):

MSG
MSG

📖
Adeyemi Gbenga
Adeyemi Gbenga

💻
BlackStarkGoku
BlackStarkGoku

💻
Abdulhakeem Abdulazeez Ayodeji
Abdulhakeem Abdulazeez Ayodeji

💻
Fishon Amos
Fishon Amos

💻
Lindsay Morales
Lindsay Morales

💻
Nnaji Benjamin
Nnaji Benjamin

💻
Bhavya Gosai
Bhavya Gosai

💻
Yusuf Habib
Yusuf Habib

💻
Isaac Onyemaechi Ugwu
Isaac Onyemaechi Ugwu

💻
Oche
Oche

💻
Poulav Bhowmick
Poulav Bhowmick

💻
Lau Chaves
Lau Chaves

💻
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

🔗 More in this category