ICPayICPay
ICFalcon Framework

ICFalcon

Production-Ready Motoko Framework for Internet Computer

Enforced layered architecture · Next.js frontend · Global CLI · Internet Identity auth

Install with one command

Installs dependencies, deploys locally, and starts dev server at localhost:3000

Built to solve real problems

ICFalcon eliminates common friction points in ICP development

The Problem

No standardized architecture
Most Motoko projects start from scratch with no clear guidance on layering, testing, or deployment patterns. Teams reinvent structure every time.
Scattered tooling
Building an ICP app means juggling dfx, mops, npm, and custom scripts. No unified CLI for scaffolding, building, or deploying across environments.
Frontend-backend integration complexity
Connecting a Next.js frontend to a Motoko canister requires manual actor generation, identity management, and environment configuration.
Limited starter templates
Existing templates are either too minimal to be production-ready or too opinionated to adapt. No middle ground for real-world apps.

The Solution

Production-shaped layering
Four-layer architecture (api → service → repository → storage) enforced from day one. Every module follows the same pattern, making onboarding and maintenance predictable.
Global falcon CLI
One command to scaffold modules, install packages, build, test, and deploy. Works seamlessly across local and mainnet environments with interactive confirmations.
Integrated stack
Motoko backend with mo:core, Next.js frontend with shadcn/ui, Internet Identity auth, and static export. Everything wired together out of the box.
Hub ecosystem
Install battle-tested packages from icp-hub with `falcon add pkg [name]`. Ledger integration, file storage, rate limiting, and more — plug and play.

What is ICFalcon?

A framework that gives you structure, tooling, and speed for building Internet Computer applications

Framework, not boilerplate

ICFalcon is an opinionated starting point for Motoko applications. It enforces a four-layer backend architecture (api → service → repository → storage), pairs it with a modern Next.js frontend, and provides a global CLI to scaffold, build, and deploy.

Unlike minimal templates that leave you to figure out structure on your own, ICFalcon gives you patterns that scale — the same ones used in production apps like ICPay. You get stable memory management, migration guides, Internet Identity integration, and a testing harness from day one.

Layered backend architecture

The backend follows strict separation of concerns. API modules handle HTTP and validation. Services contain business logic. Repositories abstract data access. Storage manages stable memory.

This layering is enforced by convention and documented in the repo. When you scaffold a new module with falcon m:f Product, it generates all four layers, wires them into main.mo, and creates matching frontend service files. No guessing, no manual wiring.

Frontend integration

The frontend is Next.js with shadcn/ui components and Internet Identity authentication. It exports to static files (output: "export") so it can be hosted on an asset canister or a conventional host like Vercel.

Agent configuration, identity derivation, and canister IDs are pre-wired. The backend canister serves a .did file that the frontend automatically fetches. No manual actor generation or environment juggling.

The falcon CLI

Every operation runs through one global command. Initialize a project (falcon s:init). Scaffold a module (falcon m:f Name). Run tests (falcon b:test --local). Deploy (falcon b:deploy, prompts for confirmation).

The CLI wraps dfx, mops, and npm, and adds scaffolding for modules, API endpoints, and frontend services. It targets local or mainnet with a --local flag, defaulting to mainnet for safety. Commands are documented in ops/docs/commands.md.

Hub packages

ICFalcon integrates with icp-hub, a collection of plug-and-play Motoko packages. Install ledger integration, file storage, rate limiting, or other common patterns with falcon add pkg [name]. Each package follows the same four-layer structure and includes tests.

Packages are versioned and tested independently. The hub is open-source, so you can contribute modules back or fork them for custom needs.

Who is it for?

ICFalcon is for developers who want to ship production-ready ICP apps without reinventing structure. If you are building a canister that needs stable memory, a layered backend, Internet Identity auth, and a modern frontend, ICFalcon gets you there faster.

It is not a minimal template. It is opinionated. The layering is enforced, the CLI is the primary interface, and the stack is Motoko + Next.js. If you need that stack and want a clear starting point, ICFalcon is it.

Stack overview

Backend:Motoko · mo:core · api → service → repository → storage
Frontend:Next.js · shadcn/ui · Internet Identity · static export
Tooling:falcon CLI · module scaffolds · icp-hub packages

Frequently Asked Questions

Common questions about ICFalcon and how to use it