Skip to main content
Use cases · Platforms

Your customers start companies without leaving your product.

One portfolio per customer, one scoped API key — Matter handles formation, filings, and compliance behind your interface.

Who builds on Matter

Formation becomes a feature of the products people already run their work in.

Every example below is the platform's own interface. Matter ships the API underneath, not the UI — each formation step you see is a call their backend makes.

01

Fintech and banking platforms

Business banking starts with a business. Offer formation inside onboarding so a customer can open the company and the account in one flow.

Formation runs during onboarding — the entity.state_changed webhook opens the account.

northbank.com/home
Northbank
BLBrightline Labs
Good morning, Maya
Your account opens when Brightline Ventures, Inc. is formed.
$0.00
Checking · pending formation
Forming Brightline Ventures, Inc. POWERED BY MATTER
Structure selectedDelaware C-Corp
Articles filedUS-DE · 2:14 PM
EIN applicationSubmitted to IRS
Checking accountOpens on formation
Debit cards
Registered agent
Active · Delaware
Documents
Certificate of Incorporation.pdfFILED
02

AI app builders and dev tools

Your users build products that need a company behind them. A button — or an agent — in your builder can form a real entity through one API call.

One tool call from the agent — POST /v1/entities, scoped to that user's portfolio.

forge.dev/projects/calliope
Storefront's done — make it a real company so I can take payments.
Shipping it. Forming the entity behind the store first.
Agent run POWERED BY MATTER
Calliope Goods, Inc. formed
POST /v1/entities · US-DE
EIN applied
Connecting payments to entity
Ask Forge anything…
PREVIEW · calliope.shopPublish
Calliope GoodsShop · About · Cart
Hand-poured candles
Small batches, shipped weekly
Ember$28
Violet$28
Moss$28
03

Monetization and creator commerce

Merchant-of-record platforms watch creators cross the income thresholds where an LLC or S-Corp becomes tax-urgent. Offer formation at exactly that moment — high-intent, perfectly timed.

A revenue webhook crosses the threshold — one call forms the entity, payouts re-route to it.

bazaar.io/dashboard/payouts
Bazaar
OverviewProductsPayoutsTaxes
JR
Gross revenue · 2026
$84,210 +31% YoY
S-Corp savings thresholdCROSSED · APR 12
$0$80K$100K
Tax checkpoint POWERED BY MATTER
An S-Corp could save Jules ~$9,400 a year
Income crossed $80K in April. Form the entity now — payouts re-route to it automatically.
Form my S-CorpNot now
Payout routing
Personal account ····1182CURRENT
Jules Studio, Inc. (S-Corp)ON FORMATION
How embedding works

Four calls. A formed company.

Tenancy modelone customer → one portfolio → many entities
Your product
Brightline Labs
customer_id: cus_8fK2mQ4c
signs up in your interface
POST /v1/portfolios
Portfolio · tenancy boundary
Customer: Brightline Labs
pf_8fK2mQ4c
scoped key acts only in here
POST /v1/entities
Entities
Brightline Ventures, Inc.
US-DE · c_corp · EIN applied
up to 25 formed per call
event entity.state_changed · filing.completed — every payload carries portfolio_id, routed to your webhook endpoint

Four calls take a customer from sign-up in your product to a formed company with its own event stream. The scoped-token cookbook walks the same flow end to end.

Step 01

Create a portfolio per customer

A portfolio is the tenancy boundary for one of your customers. The metadata.customer_id field correlates it to your own records.

POST /v1/portfolios { "name": "Customer: Brightline Labs", "metadata": { "customer_id": "cus_8fK2mQ4c" } }
Step 02

Mint a key scoped to that portfolio

The key acts only inside that customer's portfolio. It cannot mint other keys, touch webhooks, or see any other customer. Token creation also takes acknowledgements — the cookbook walks through the full request.

POST /v1/tokens { "tier": 2, "principal": { "human_id": "usr_4Kj2m8pQ" }, "portfolio_id": "pf_8fK2mQ4c", "api_version": "2026-04-25" } // → { "token": "tok_8nM3vXyZ", "portfolio_id": "pf_8fK2mQ4c" }
Step 03

Form companies inside the portfolio

Single calls for one company, or a batch of up to 25 with per-item results. Formation, registered agent, and EIN application ride along in the same request.

POST /v1/entities { "type": "c_corp", "jurisdiction": "US-DE", "legal_name": "Brightline Ventures, Inc.", "portfolio_id": "pf_8fK2mQ4c" }
Step 04

Route events per customer

Bind a webhook endpoint to a portfolio and it receives only that customer's events. Every event payload carries portfolio_id either way.

POST /v1/webhook_endpoints { "url": "https://yourapp.example/hooks/matter", "enabled_events": ["entity.state_changed", "filing.completed"], "portfolio_id": "pf_8fK2mQ4c" }
One customer, many companies

Built for fleets of customer companies.

Isolation

Fails closed by design

A portfolio-scoped key cannot reach outside its portfolio. Cross-portfolio requests return the same 404 as a nonexistent id — indistinguishable by construction.

Batch

Up to 25 entities per call

Form a customer cohort in one request. Per-item results, partial success allowed, every outcome reported.

Compliance

One rollup per customer

A single call returns every obligation across a customer's entities, with the critical actions due first.

Webhooks

Events routed per customer

One endpoint per portfolio demuxes the firehose. No fan-out logic on your side.

Fleet

File everything due at once

One workflow call sweeps a portfolio and files every due obligation across its entities.

Records

Audit trail and export

Read the audit chain scoped to a portfolio, and pull an export manifest of everything Matter holds when a customer offboards.

FAQ

Questions platforms ask.

How do I keep my customers' data isolated?

Each customer gets a portfolio, and you mint an API key scoped to that portfolio. A portfolio-scoped key cannot read or write outside its portfolio — a request for another customer's resource returns the same 404 as a nonexistent id. Your own org key keeps full visibility for support and operations.

Can my customers form a company without leaving my product?

Yes. Your interface stays in front of the user while your backend calls the Matter API — there is no Matter front end inside your product. When you do want a hosted step, formation sessions are Matter-hosted pages that carry your own brand: your logo, your accent color, your product name.

How do I get events for one customer at a time?

Create a webhook endpoint with a portfolio_id and it receives only that portfolio's events. Every event payload carries portfolio_id, so an org-wide endpoint can route by customer too.

Is there a test mode?

Yes. sk_test_ keys simulate the full lifecycle — formation, filings, documents — with no real government filings, so you can build and demo the integration end to end before going live.

How does pricing work for platforms?

Matter is priced per entity — see the pricing page for the standard rate. For platform volume, contact us and we'll work through your shape.

Lifecycle

The whole lifecycle, embedded.

Create

Form each customer's entity inside their portfolio — single calls or batches, with EIN application and registered agent in the same request.

Manage

Compliance rollups, filing sweeps, documents, and cap tables — every ongoing operation is an API call scoped to the customer.

Exit

When a customer winds down or moves on, dissolve entities through the same API and pull an export manifest of their records.

Start embedding

The platform guide covers the same flow in depth — tenancy, scoped tokens, batch formation, and webhook routing, with runnable requests.