FAQ
Direct answers to the questions asked most about Marka — fees, plans, authentication, order rails, channels, and MCP support.
Short answers to the things people ask before reading anything else. Each one links onward to the page that covers it properly.
What is Marka?
Marka is a marketplace where the seller is the merchant of record. A seller creates one canonical listing, and Marka projects it to buyers and — where a channel is connected — to external marketplaces such as eBay or Shopify. For developers it exposes three programmatic surfaces over the same account: a REST API at /api/v1, a typed TypeScript client published as @joinmarka/sdk on npm, and two MCP servers that let an AI assistant search the marketplace and draft listings.
Does Marka charge marketplace fees?
No. The marketplace fee is 0% on every plan. Marka's revenue is the seller subscription, not a cut of sales. This is structural rather than promotional: because sellers are merchant of record on Stripe Connect direct charges, the platform would have to add an application fee to take a cut, and it does not — the application-fee amount is fixed at zero and the parameter is omitted from the Stripe call entirely. Every order's price breakdown carries an applicationFeeAmount field, and it is always 0. Stripe's own processing fees still apply, and they are charged to the seller's connected account, because that is the account the money lands in.
How much does Marka cost?
There are three seller plans: Free at CA$0, Pro at CA$29/month (CA$290/year) and Business at CA$99/month (CA$990/year). Free allows 50 active listings and 3 AI copilot runs a month; both paid tiers are unlimited on those two. The one API capability behind a paid plan is programmatic writes: creating, updating and publishing a listing with an API key requires the api_write entitlement, which is Pro or Business. Reading through the API is available to any valid key on any plan, including Free.
How do I list on eBay through Marka?
You do not create a separate eBay listing. You connect the channel to your Marka account in the Marka app, and Marka projects your existing canonical listing onto it as a ChannelListing — one projection per listing per channel. From then on the projection is maintained for you: edits re-sync, a sale on any connected surface propagates a decrement to the others, and if someone edits the listing directly on the channel, Marka detects the drift and either pauses the Marka listing or asks you which copy wins. Channel connections are managed in the app, not through the public API — /api/v1 has no channel endpoints. Cross-posting to eBay requires the cross_post_oneway entitlement, which is Pro or higher; publishing to Shopify is free on every plan.
How do I authenticate with the Marka API?
With an API key created under Settings → API keys in your Marka account. It begins mk_ and is sent either as an x-api-key header or as Authorization: Bearer. The two forms are equivalent; if both are present, x-api-key wins. The key is shown exactly once at creation — Marka stores a hash — and every endpoint requires one, including the read-only search and category endpoints. There is no anonymous access to /api/v1.
What format does Marka use for prices?
Every amount, everywhere, is an integer in the minor unit of its accompanying currency. A price of 4500 with currency CAD is CA$45.00. Nothing in the API, the SDK or the MCP tools converts to or from major units, and a fractional amount is rejected at the edge rather than silently rounded. This holds through the database, the domain layer and the Stripe call, where the listing price is passed to unit_amount unconverted.
How do Marka orders and payments work?
There are exactly two order rails. DIRECT is an in-person handoff with no Stripe involvement at all: the buyer's device shows a QR code and a matching six-digit OTP, and the seller scans or types one of them to complete the order. CHECKOUT is a Stripe Connect payment, and it is the only rail on which shipping exists — a direct order can never be a shipped order. Payments are direct charges on the seller's own connected account, so the seller is the merchant of record and the funds never pass through a Marka balance.
Does Marka have an MCP server?
Two of them, with deliberately different tool sets. The hosted gateway is a streamable HTTP endpoint at POST https://joinmarka.com/api/mcp, backed directly by Marka's database, and needs nothing installed — a URL and an API key header. The local bridge ships inside @joinmarka/sdk, runs as a stdio subprocess, and works entirely through the public HTTP API, for clients such as Claude Desktop that can only spawn a subprocess. Neither server can publish a listing: both create and edit drafts, and making a listing visible to buyers stays a human decision.
Can an AI assistant create listings on my Marka account?
It can create and edit drafts, and it cannot publish. Draft creation runs through typed tools with validated inputs rather than free-form database access, so an assistant can only make the changes those tools model. Publishing is excluded from every AI surface on purpose — it is what makes a listing visible to buyers and commits you to selling the thing — so it happens in the Marka app or through an explicit publish call you make yourself.
Can I use Marka's API from a language other than TypeScript?
Yes. The SDK is a convenience, not a requirement: every surface is plain HTTP with JSON bodies and a single header, so any HTTP client works. The full OpenAPI 3.1 contract is published at https://docs.joinmarka.com/openapi.json, which is the same document the API reference pages are generated from, so a client generated from it matches what the handlers implement.
How do I connect my AI coding agent to Marka?
Paste this sentence into the agent: "Fetch and execute the appropriate instructions to set me up for Marka from https://docs.joinmarka.com/agent-setup/prompt.md". The agent reads the setup instructions at that address, asks you once for a Marka API key if MARKA_API_KEY is not set, checks the key against /api/v1/me, and connects itself to the hosted MCP gateway at https://joinmarka.com/api/mcp. The instructions tell it never to write the key into a file you check in. To do it by hand instead, the guides at https://docs.joinmarka.com/docs/agent-setup give the exact command or config entry for Claude Code, Codex, Cursor and OpenCode, and a config block for any other MCP client.