Apps for AI agents

Apps

Ounie is a fleet of first-party apps built to be called by AI agents. Each one is a finished product with a dashboard, a REST API and an MCP server — and the ones that take a brain build their output from your knowledge and cite the page they used.

An app is

A finished product

Lives at

<slug>.ounie.com

Reached via

Dashboard · MCP · REST

Billed by

The action

What an app is#

An app is a product Ounie builds and runs, living at its own subdomain (<slug>.ounie.com) and listed in the app directory. Inside an app are actions — the billable operations it exposes, each with one price. A person clicks buttons in the dashboard; an agent calls the same actions over MCP or REST. Same code, same meter, same result.

Two families#

Brain-powered apps#

These take a brain as an input and build an artifact from it — battlecards, pitch decks, proposals, carousels, courses, podcasts, investor updates. Because they read your synthesized wiki, the output is specific to your business and every claim traces to a source page. When something isn’t in your brain, they say so rather than inventing it.

External-data apps#

These wrap a data provider and return a clean, machine-readable dataset — maps leads, LinkedIn profiles, TikTok posts, ad libraries, seller intelligence. They need no brain and are billed per result, which makes them the most natural fit for an anonymous agent paying per call.

BRAIN-POWEREDcited to your pagespriced per runEXTERNAL-DATAno brain neededpriced per result

Four ways to reach one#

  • The dashboard. Every app is a full product on its own — open it and use it by hand.
  • The gateway. One MCP URL, https://mcp.ounie.com, exposes the whole fleet through three meta-tools. New apps appear to a connected agent with no reconfiguration.
  • A scoped endpoint. Each app also serves its own <slug>.ounie.com/api/mcp — hand an agent exactly one app instead of the marketplace.
  • REST. Anything that speaks HTTP can skip MCP entirely and call the app directly.
DASHBOARDMCPRESTone appsame code · same meter<SLUG>.OUNIE.COM

Discover, describe, invoke#

The gateway keeps its toolset small on purpose — a flat list of every app’s every tool would swamp a model’s context. Instead there are three meta-tools, and the middle one returns the app’s live contract so an agent never works from stale documentation.

# 1) find an app
ounie_list_apps { "q": "maps" }
#    → google-maps · Sales & Leads · credits + x402 · endpoints

# 2) read its LIVE tool contract and prices
ounie_describe_app { "slug": "google-maps" }
#    → tools: [{ name: "scrape_leads", inputSchema: { … } }], pricing

# 3) run it
ounie_invoke_app {
  "slug": "google-maps",
  "tool": "scrape_leads",
  "arguments": { "query": "dentists in Denver", "limit": 20 }
}

Describing is free

Listing and describing apps cost nothing — only running an action bills. An agent can survey the whole fleet before it spends anything.

Setting the gateway up in Claude, ChatGPT, Cursor, VS Code and the rest is covered in the MCP gateway guide.

What a call costs#

Every action has one price and two ways to reach it.

x402USDCcreditsmember rateone actionone price

On an account — credits#

A signed-in caller (you, or an agent holding your key) spends credits from one wallet that covers every app — no per-app plans or balances. Charging is server-side and atomic: reserve, then settle or refund. Your wallet is a hard ceiling; an app that would overdraw it returns its own insufficient-credits error with a top-up link instead.

Anonymously — x402#

An autonomous agent with a wallet needs no account at all. Call a paid endpoint, get an HTTP 402 back carrying machine-readable payment requirements, sign USDC on Base, and retry with the X-Payment header. Not every app ships this rail yet — the ones that do show an x402 badge in the directory and publish their endpoint in the “Add to agent” sheet, in ounie_describe_app, and in the Bazaar index.

# an app's pay-per-call endpoint is published on its
# directory page ("Add to agent" → x402) and in the Bazaar.
ENDPOINT=$(curl -s https://ounie.com/api/x402/bazaar | jq -r '.[0].endpoint')

# 1) call it with no credentials — it quotes itself
curl -i -X POST "$ENDPOINT" -d '{ … }'
# HTTP/1.1 402 Payment Required
# → accepts: [{ asset, maxAmountRequired, network: "base", … }]

# 2) sign those requirements with the agent's wallet, then retry
curl -X POST "$ENDPOINT" \
  -H "X-Payment: <signed payload>" \
  -d '{ … }'

Prices quoted this way are up to figures — the ceiling rides the 402 as maxAmountRequired. A heavy job settles higher than a light one, but never above the quote, so an agent can encode its ceiling before it spends. Full detail in agent payments.

Thin results settle zero

An empty dataset, a failed render, or an honest “not in your brain” costs nothing — on either rail. It is a property of the meter, not a refund policy you have to claim.

Grounding an app with a brain#

This is the part nobody else can copy. Any agent platform can hand a model a tool; only these tools are built from knowledge you accumulated here. Pass a brain to a brain-powered app and its output stops being generic — it argues from your positioning, your docs, your customers, and cites the exact wiki page behind each claim.

# a brain-powered app takes your brain as an input.
# ounie_describe_app shows the exact field name for each app.
ounie_invoke_app {
  "slug": "battlecard-studio",
  "tool": "build_battlecard",
  "arguments": {
    "brainId": "brn_…",
    "competitorUrl": "https://competitor.com"
  }
}
# → the battlecard is written from YOUR positioning,
#   with each claim cited to the wiki page it came from.

Agents can also feeda brain over the same connection — save a note, save a link, file a finished output into the brain’s asset library. That is what makes the platform compound: the longer an agent works with a brain, the better every app’s output gets. Start with Concepts for what a brain actually is, or Capturing for every way to fill one.

Where to go next#