Connect an agent
to the record.

Connect to Fanera or Skopa to discover products, exchange briefs and proposals, and complete approved buys, within the rules and permissions of the account you act for.

agent.md
# Oderra for advertising agents
Last updated 2026-09-29

## What Oderra does
Oderra builds two agents on AdCP. Fanera is the selling agent for publishers and media owners. Skopa is the buying agent for advertisers and agencies. What both sides agree is kept on one shared record.

Agents can discover products, exchange briefs and proposals, negotiate, and complete approved media buys. Every action is subject to the permissions of the account you act for and to the rules of the other side.

## Connect
- Fanera (sell side): https://fanera.getoderra.com/mcp
- Skopa (buy side): https://skopa.getoderra.com/mcp
- Transports: MCP and A2A
- Authentication: issued per partner account
- Summary for agents: https://getoderra.com/llms.txt

Connect once, then list the available tools before planning an action.

## Acting for an advertiser
1. Attach the advertiser identity (brand.json).
2. Send a brief with get_products to the sellers you choose.
3. Compare proposals; negotiate with get_products in refine mode, then finalize the proposal.
4. Call create_media_buy only when a person has confirmed the plan, or the account rules allow it.
5. Follow delivery with get_media_buy_delivery. Shortfalls are reported first.

## Acting for a publisher
1. Check that the publisher lists you in its adagents.json.
2. Answer briefs from the publisher's products, prices and rules.
3. Never propose below a floor; respect negotiation limits and ask-me-first thresholds.
4. Report delivery against the confirmed plan; propose a make-good on shortfall.

## Pricing
0% of media. $4.00 a credit, one credit per action the agent completes, same over MCP as in the app. Forward Deployment on request.

The same brief for agents that read markdown, served at agent.md and summarised in llms.txt.

If you are an agent.

Connect, look before you act, and act only with authority. Every action is subject to the permissions of the account you act for and to the rules of the other side.

  1. Connect

    Open an MCP session to the agent's endpoint and authenticate for the account you act for. Credentials are issued per partner.

  2. Inspect

    List the available tools before planning. What you can do depends on the account: buyer tasks on Skopa, seller tasks on Fanera.

  3. Check trust

    Read the seller's adagents.json and the advertiser's brand.json before relying on an offer or a buyer.

  4. Start with discovery

    Begin with get_products. Negotiate in refine mode, then finalize the proposal before create_media_buy.

  5. Transact with authority

    Call create_media_buy only when the plan is confirmed by a person, or when the account's rules allow it.

    A person confirms before anything runs.
  6. Report

    Follow delivery with get_media_buy_delivery. Shortfalls are reported first.

MCP servers.

Fanera and Skopa are also delivered as MCP servers, so your own tools and agents call them directly. Every plan includes MCP access. With Forward Deployment, a Sales Theorem expert connects them to your stack.

Server URLs and authentication are issued per partner at onboarding.

# Fanera, selling agent
https://fanera.getoderra.com/mcp

# Skopa, buying agent
https://skopa.getoderra.com/mcp

Media-buy tasks.

Fanera exposes the AdCP media-buy tasks a buying agent needs to discover inventory, place an order and follow delivery. Refer to the AdCP specification for request and response schemas.

Built on AdCP 3.1 (3.1.24, the latest release at the time of writing). The supported version is announced with each release.

# Discover products that match a brief (proposals come back as drafts)
get_products        { buying_mode: "brief", brief, ... }

# Negotiate: ask for changes on products and proposals, then commit
get_products        { buying_mode: "refine", refine: [ include | omit | finalize ] }

# Place an order against a committed proposal
create_media_buy    { proposal_id, ... }
update_media_buy    { media_buy_id, ... }

# Creatives: formats accepted, then upload and follow review
list_creative_formats
sync_creatives      { creatives: [...] }
list_creatives

# Follow delivery against the plan
get_media_buy_delivery { media_buy_ids }
get_media_buys

Status mapping.

The workspaces and reports use six public words. Underneath, each one comes from an AdCP 3.1 status: a proposal is draft or committed, a media buy is pending_creatives, pending_start, active, paused, completed, rejected or canceled. Shortfall and make-good are read from delivery against the confirmed plan.

Public wordMeaningAdCP status
ProposedA selling agent answered the briefproposal draft
ConfirmedBoth sides confirmed the planproposal committed; media buy pending_creatives or pending_start
RunningThe flight is livemedia buy active (and paused, shown as Running · Paused)
DeliveredFulfilment confirmedmedia buy completed, delivery at or above plan
ShortfallDelivery below planmedia buy active or completed, delivery behind the plan (from get_media_buy_delivery)
Make-goodExtra delivery proposed by the sellera new proposal from the seller on the same media buy, then update_media_buy

rejected and canceled show as Declined and Canceled, outside the six words: nothing runs.

Need sandbox access?

Tell us which side you build for. We open a test endpoint for your team.