Build ordering
into your product

Real pickup orders at 600,000+ restaurants, through one API.

Why build on Layout

Delivery apps keep the customer relationship for themselves. Layout is the layer behind your app, like Plaid, so the relationship stays yours.

Layout orders at about 95% of U.S. restaurants with web ordering, more than 600,000 of them, not just the ones listed on a delivery app.

Restaurants pay Layout nothing, so there are no fees for them to build into menu prices. Orders through Layout cost the customer about 30% less on average, plus a small service fee that is never more than $0.75.

See pricing

Orders connect to the person's own restaurant rewards accounts, so they keep earning points.

600,000+

restaurants

About 95% of U.S. restaurants that take orders online. No onboarding, no menus to sync. Layout drives each restaurant's own ordering site.

Your app, your brand

The same order, in your product's colors, type and voice. Layout only steps in to take the card.

How an order moves

Each step arrives by webhook as it happens. Placed is the only state that means the food is coming. An order Layout cannot verify comes back unconfirmed, never failed, so you never retry into a double charge.

Building

The cart is being built at the restaurant.

Carted

Priced and ready. The person confirms.

Placing

Submitting to the merchant.

Placed

Reached the merchant, with evidence.

The building blocks

Users

Provision someone with a name and a phone number. An ordinary Layout account, created by you.

DW
Dana Whitfieldusr_4b8e
JS
Jordan Sotousr_5c2f
AM
Amara Millsusr_6d19

Connect existing accounts

Someone who already uses Layout joins your app with one approval, on Layout's own consent screen. Their saved card and history carry over.

A phone showing the Layout consent screen: giving an app permission to place orders on your behalf.

Webhooks

Signed, retried five times, replayable from the console. Card data never rides along.

  • 200order.placed17:01:07
  • 200order.carted17:00:41
  • retry 2order.building17:00:12

Events feed

The same events, cursor-paged, for when your endpoint was down or you would rather poll.

GET /v1/events?cursor=MjAyNi0wOS0x…
{ "event": "order.placed", "order": { "id": "ord_7c21" } }

The Layout CLI

Create a sandbox app and key, forward webhooks to your machine and run a whole test order. Every command takes --json, so a coding agent can drive it.

Read the CLI docs
$ npm i -g @layoutplatforms/cli
$ layout login
  BCDF-GHJK · approve it in the console
$ layout init --name "My app"
$ layout test-order
  order.placed · simulated

Nothing is spent without the person

Build tokens cannot spend. Every charge is approved by the person, and Layout checks it.

Your app can

  • Provision a user
  • Build and price a cart
  • Read order state

Only the person can

  • Add a card
  • Confirm the order
  • Pay

Built for agents

Point any MCP client at Layout. Your agent finds the store, builds the cart and asks before it buys. Nothing is placed until the person says yes.

Read the MCP guide

Order food
anywhere with AI