Merkl Studio Developer Portal

Merkl Studio is a client of the public Merkl API. Everything you can configure and read here is reachable programmatically, so a team running many campaigns never has to drive the UI to keep its own systems current.Studio is the place to launch a campaign by hand. When you want to launch, monitor or reconcile campaigns from your own stack instead, the surfaces below are what you build against.

REST API

The public Merkl API is served at https://api.merkl.xyz. Read endpoints under /v4 need no API key and no authentication. List endpoints paginate with ?page=N&items=M, both 1-indexed.Errors are returned as RFC 9457 problem documents with the media type application/problem+json, carrying type, title, status, detail and instance, so a client can branch on the error without parsing prose.

Most useful endpoints

GET /v4/campaigns
list and filter campaigns, including the ones you created
GET /v4/campaigns/count
campaign totals, for reconciliation
GET /v4/opportunities
the pools, vaults and markets campaigns point at
GET /v4/rewards
what each wallet has earned from a campaign, and leaderboards
GET /v4/chains
every supported chain
GET /v4/protocols
every integrated protocol
GET /v4/tokens
reward and underlying token metadata

MCP server

Merkl runs a first-party Model Context Protocol server at https://mcp.merkl.xyz/mcp, over the Streamable HTTP transport. It is protected by OAuth 2.1: an unauthenticated request is answered with a WWW-Authenticate challenge pointing at the server's protected-resource metadata, so a standards-compliant MCP client discovers and completes the flow on its own.The server exposes the sanctioned campaign, opportunity, rewards and analytics routes, plus onchain read helpers. Prefer it over raw HTTP when your client supports MCP: it carries tool descriptions and argument schemas the REST surface cannot.

Campaign configuration

Every Merkl campaign is a configuration: a campaign type that says what behaviour is rewarded, plus the structured inputs that type requires. Understanding that model is the prerequisite for creating campaigns programmatically, because the API takes the same configuration Studio builds.Campaigns are created onchain against the Merkl distribution contracts. Studio encodes the configuration and submits the transaction; an integration does the same thing with its own signer.

Agent-readable content

Studio publishes its guides in machine-readable form. Start at /llms.txt: it states when to use Merkl Studio and indexes every published guide with its description.

Elsewhere in Merkl