The subscription protocol for Farcaster Miniapps.
It provides:
- A minimal on-chain registry for app subscriptions (contracts/)
- A TypeScript SDK for frontend/backend/solidity integrations (
@subline/sdk) - A creator miniapp to define plans and generate “Subscribe” frames
src/
contracts/ # On-chain primitive
packages/
sdk/ # @subline/sdk
creator-miniapp/ # Subline miniapp
demo/ # example integration app(s)
Each package has its own README with more details.
pnpm install# run all tests
pnpm -r test
# build all packages
pnpm -r buildcd src/contracts
# run contract tests
forge test
# build contracts
forge buildContracts are compiled and tested using Foundry.
The SDK is in src/packages/sdk.
It exposes:
- backend helpers (server-side subscription checks) (must have)
- frontend helpers (Farcaster miniapp + wagmi/viem integrations) (should have)
- solidity helpers (on-chain subscription checks) (could have)
See src/packages/sdk/README.md for:
- installation instructions
- API reference
- integration examples
The creator miniapp lives in src/packages/creator-miniapp.
It lets creators:
- register their miniapp,
- define subscription plans,
- generate a shareable “Subscribe” frame.
Development:
cd src/packages/creator-miniapp
pnpm devBuild:
pnpm buildSee src/packages/creator-miniapp/README.md for details.
src/packages/examples contains example integrations using @subline/sdk.
Useful as a reference for how to wire Subline into your own app.
From the repo root:
cd src/packages/sdk
pnpm build
npm publish --access publicMake sure tests pass (pnpm -r test) before creating a PR.
MIT