Polarはインテリジェンス時代向けの課金プラットフォームです。FastAPI製バックエンドとNext.js製フロントエンドをTurborepoでまとめたモノレポで、サブスクリプションや従量課金、デジタル商品販売などを提供します。開発者はPolarをMerchant of Recordとして使うことで、決済・税務・請求書発行を任せられます。
基盤はサーバーとクライアントの2系統です。サーバーはFastAPIとSQLAlchemyで構築されています。クライアントはNext.jsで構築されています。clients配下にはSDKアダプターがあり、adapter-utilsやbetter-auth連携が含まれます。中核はhandleWebhookPayload関数です。この関数はWebhookペイロードの種類ごとに、onOrderCreatedやonSubscriptionActiveなどのハンドラーへ振り分けます。entitlement.tsのEntitlementStrategyは、benefit_grant.createdやrevokedイベントを受け取ります。ベネフィットのslugが一致すると、grantまたはrevokeのコールバックを実行します。これにより、トークン課金や利用量に応じた権限付与を自前実装なしで組み込めます。開発環境の起動手順はDEVELOPMENT.mdや.agents/skills/local-environmentに記載がありますが、具体的なコマンドは今回の資料には含まれていません。
- STEP 01
BrewfileとDEVELOPMENT.mdに従い、依存ツールを揃えてからserverディレクトリとclientsディレクトリを別々にセットアップする流れになります。
- STEP 02
サーバー側はPostgreSQLなどのデータベース接続と環境変数の用意、マイグレーション実行が前提になっていると読み取れます。
- STEP 03
クライアント側はTurborepo構成のため、clients直下で依存関係をインストールしてからNext.jsアプリを起動する形です。
- STEP 04
.agents/skills/local-environment配下にはAIエージェント向けの起動・停止・ログ確認手順書があり、Claudeなどのエージェントが環境操作を自動化できる設計です。
- STEP 05
clients/adapters/better-auth/exampleを動かすと、Webhookを受け取ってentitlementを付与するサンプルフローを確認できます。
- STEP 06
TypeScript側はvitest、サーバー側はtest_server.ymlに沿ったテストが走り、CIワークフローが数十本用意されています。
手を動かすと得られるのは、サブスクリプションや従量課金、ベネフィット管理を一通り備えた課金基盤と、Next.js製の管理ダッシュボードです。better-auth向けアダプターを使えば、自社アプリの認証システムに権限付与ロジックを少ないコードで組み込めます。ただし今回の資料からは、サーバー側の実装詳細までは確認できません。
提供ファイルにはサーバー側であるPythonバックエンドの実ソースが含まれておらず、課金ロジックやDB構成の詳細はこの資料だけでは検証できません。
起動手順の詳細はDEVELOPMENT.mdに委ねられており、具体的なコマンド列は今回のファイル一覧からは確認できません。
Merchant of Recordとして税務・決済代行を担う設計のため、本番利用にはStarterからScaleまでの手数料体系の理解が必要です。
開発フロー自体が.agents/skills配下の大量のAIエージェント向けルールを前提に設計されており、通常のOSSと運用感が異なります。
AIプロダクトの従量課金やサブスクを自前実装せず外部に任せたい開発者に向いています。entitlement.tsやwebhooks.tsなど実装済みロジックの完成度と、数十本のCIワークフローから実運用レベルのコードベースだと判断できます。一方でサーバー側コードは今回提示されておらず、バックエンドの実装品質そのものはこの資料だけでは断定できない点に注意してください。