# Manifold

> Trade on Manifold's play-money prediction markets: search markets and read their live probabilities, create, close and resolve markets, place and sell bets, comment, and send mana.

App · 21 actions. Web page: https://docs.lodol.com/docs/integrations/manifold

## Actions

### Add answer

Add an answer to a multiple-choice market that allows it. Adding an answer costs mana.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Answer (`text`, text, required): The answer, up to 240 characters.

**Outputs**

- `answer_id` (text)
- `market_id` (text)
- `text` (text)

**Example output**

```json
{
  "answer_id": "Rdch85AdP5",
  "market_id": "5s6c88PRZA",
  "text": "No government formed"
}
```

### Add liquidity

Add mana to a market's liquidity pool, so each bet moves the probability less. The mana is not returned.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Amount (`amount`, number, required): The mana to add.
- Answer ID (`answer_id`, text): Add it to this one answer's pool instead. Only some multiple-choice markets allow this.

**Outputs**

- `amount` (number)
- `answer_id` (text)
- `created_time` (text)
- `id` (text)
- `market_id` (text)

**Example output**

```json
{
  "amount": 100,
  "answer_id": null,
  "created_time": "2026-10-13T20:25:09.399Z",
  "id": "lp_1",
  "market_id": "5s6c88PRZA"
}
```

### Add or remove topic

Tag a market with a topic, or take the tag off. You must have created the market to change a public topic's tags.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Topic (`topic`, text, required): The topic's slug, id or link - the slug is the last part of its link, such as 'ai' in https://manifold.markets/topic/ai.
- Remove (`remove`, true/false): Take the topic off instead of adding it.

**Outputs**

- `market_id` (text)
- `removed` (true/false)
- `topic_id` (text)
- `topic_name` (text)
- `topic_slug` (text)

**Example output**

```json
{
  "market_id": "5s6c88PRZA",
  "removed": false,
  "topic_id": "i5JOzjrK5ZMHPSkhgzoi",
  "topic_name": "Elections",
  "topic_slug": "elections"
}
```

### Cancel limit order

Cancel what is still unfilled of a limit order. The filled part stays.

**Inputs**

- Bet ID (`bet_id`, text, required): The limit order's id - the 'id' of a Place bet result.

**Outputs**

- `amount` (number): Mana spent so far
- `answer_id` (text)
- `created_time` (text)
- `expires_at` (text)
- `id` (text)
- `is_cancelled` (true/false)
- `is_filled` (true/false)
- `limit_probability` (number)
- `market_id` (text)
- `order_amount` (number): Mana ordered
- `outcome` (text)
- `probability_after` (number)
- `probability_before` (number)
- `shares` (number)
- `user_id` (text)

**Example output**

```json
{
  "amount": 0,
  "answer_id": "Ep2RtUz2CN",
  "created_time": "2026-10-13T20:25:09.399Z",
  "expires_at": null,
  "id": "5lCIEchhc806",
  "is_cancelled": true,
  "is_filled": false,
  "limit_probability": 0.51,
  "market_id": "5s6c88PRZA",
  "order_amount": 15,
  "outcome": "YES",
  "probability_after": 0.5042,
  "probability_before": 0.5029,
  "shares": 29.79,
  "user_id": "6QbSCyAp99WD7OYN0Dsl8vpMHC82"
}
```

### Close market

Stop trading on a market you created, now or at a time you set. A closed market still needs resolving.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Close time (`close_time`, date and time): When to close it. Leave empty to close it now.

**Outputs**

- `close_time` (text)
- `market_id` (text)

**Example output**

```json
{
  "close_time": "2026-10-13T12:00:00.000Z",
  "market_id": "5s6c88PRZA"
}
```

### Create market

Create a market. It costs mana: a yes/no or numeric market costs its liquidity (M$100 at the smallest), a multiple-choice market that or M$25 an answer, whichever is more, a poll M$10 and a bounty question its bounty.

**Inputs**

- Question (`question`, text, required): The headline question, up to 120 characters, such as 'Will it rain in London tomorrow?'
- Market type (`market_type`, text): Defaults to yes/no. One of: `BINARY` (Yes/no), `MULTIPLE_CHOICE` (Multiple choice), `PSEUDO_NUMERIC` (Numeric), `POLL`, `BOUNTIED_QUESTION` (Bounty question). Default: `BINARY`.
- Description (`description`, text): How the market resolves, in Markdown. Say what counts as YES and where the answer will come from.
- Close time (`close_time`, date and time): When trading stops. Defaults to a week from now; must be in the future.
- Liquidity (`liquidity_tier`, text): The mana the market starts with, which is also what it costs. More liquidity moves less with each bet. Defaults to M$100. Only when Market type is Yes/no, Multiple choice or Numeric. One of: `100` (M$100), `1000` (M$1,000), `10000` (M$10,000), `100000` (M$100,000).
- Visibility (`visibility`, text): Public markets appear in search and on the home page; unlisted ones only to people with the link. Defaults to public. Manifold creates unlisted markets only for accounts that have verified their identity, bought mana or subscribed; others get 'Please verify your identity to create unlisted markets'. One of: `public`, `unlisted` (Unlisted (only people with the link)).
- Topics (`topics`, list): Up to 5 topics to tag the market with, by slug, id or link, such as 'ai'.
- Initial probability (%) (`initial_probability`, number): Where the market starts, from 1 to 99. Defaults to 50. Only when Market type is Yes/no. From 1 to 99.
- Answers (`answers`, list): The possible answers, up to 240 characters each. A poll needs at least two. Only when Market type is Multiple choice or Poll.
- Only one answer can win (`answers_sum_to_100`, true/false): On (the default): answers add up to 100% and one wins. Off: each answer resolves YES or NO on its own. Only when Market type is Multiple choice.
- Who can add answers (`add_answers_mode`, text): Who may add answers later. Defaults to no one. Only when Market type is Multiple choice. One of: `DISABLED` (No one), `ONLY_CREATOR` (Only me), `ANYONE`.
- Minimum (`min_value`, number): The lowest value the market can resolve to. Only when Market type is Numeric.
- Maximum (`max_value`, number): The highest value the market can resolve to. Only when Market type is Numeric.
- Initial value (`initial_value`, number): Where the market starts, between Minimum and Maximum. Only when Market type is Numeric.
- Log scale (`log_scale`, true/false): Spread the range exponentially, for values that span orders of magnitude. Only when Market type is Numeric.
- Total bounty (`total_bounty`, number): The mana to pay out to the best answers, at least M$1,000. Only when Market type is Bounty question. At least 1000.

**Outputs**

- `answers` (list)
- `close_time` (text)
- `created_time` (text)
- `creator_id` (text)
- `creator_name` (text)
- `creator_username` (text)
- `id` (text)
- `is_log_scale` (true/false)
- `is_resolved` (true/false)
- `last_bet_time` (text)
- `last_comment_time` (text)
- `last_updated_time` (text)
- `max` (number)
- `mechanism` (text)
- `min` (number)
- `outcome_type` (text)
- `probability` (number): From 0 to 1; empty for a multiple-choice market
- `question` (text)
- `resolution` (text)
- `resolution_probability` (number)
- `resolution_time` (text)
- `slug` (text)
- `token` (text)
- `total_liquidity` (number)
- `unique_bettor_count` (number)
- `url` (text)
- `value` (number): A numeric market's current value
- `volume` (number)
- `volume_24_hours` (number)

**Example output**

```json
{
  "answers": [],
  "close_time": "2027-01-02T07:59:00.000Z",
  "created_time": "2024-01-18T00:11:41.985Z",
  "creator_id": "AHf5jynaHbNiNiwoYx1UfhRMq3Q2",
  "creator_name": "Matthew Barnett",
  "creator_username": "MatthewBarnett",
  "id": "X6Cn5ebU5ugo5DF9K4Ps",
  "is_log_scale": false,
  "is_resolved": false,
  "last_bet_time": "2026-10-13T07:05:06.153Z",
  "last_comment_time": "2026-10-13T06:05:33.983Z",
  "last_updated_time": "2026-10-13T07:05:06.153Z",
  "max": null,
  "mechanism": "cpmm-1",
  "min": null,
  "outcome_type": "BINARY",
  "probability": 0.9828795923833469,
  "question": "Will AIs beat human experts on the GPQA benchmark before 2027?",
  "resolution": null,
  "resolution_probability": null,
  "resolution_time": null,
  "slug": "will-ais-beat-human-experts-in-ques",
  "token": "MANA",
  "total_liquidity": 1000,
  "unique_bettor_count": 34,
  "url": "https://manifold.markets/MatthewBarnett/will-ais-beat-human-experts-in-ques",
  "value": null,
  "volume": 9765.46,
  "volume_24_hours": 5001
}
```

### Get market

Read one market in full: its question, probability (or each answer's), description, topics, volume and resolution.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.

**Outputs**

- `add_answers_mode` (text)
- `answers` (list)
- `bounty_left` (number)
- `close_time` (text)
- `cover_image_url` (text)
- `created_time` (text)
- `creator_id` (text)
- `creator_name` (text)
- `creator_username` (text)
- `description` (text)
- `id` (text)
- `is_log_scale` (true/false)
- `is_resolved` (true/false)
- `last_bet_time` (text)
- `last_comment_time` (text)
- `last_updated_time` (text)
- `max` (number)
- `mechanism` (text)
- `min` (number)
- `outcome_type` (text)
- `poll_options` (list)
- `probability` (number): From 0 to 1; empty for a multiple-choice market
- `question` (text)
- `resolution` (text)
- `resolution_probability` (number)
- `resolution_time` (text)
- `should_answers_sum_to_one` (true/false)
- `slug` (text)
- `token` (text)
- `topics` (list): The slugs of the market's topics
- `total_bounty` (number)
- `total_liquidity` (number)
- `unique_bettor_count` (number)
- `url` (text)
- `value` (number): A numeric market's current value
- `volume` (number)
- `volume_24_hours` (number)

**Example output**

```json
{
  "add_answers_mode": "ONLY_CREATOR",
  "answers": [
    {
      "id": "5t00sl6Egq",
      "index": 0,
      "is_other": false,
      "probability": 0.487878192328553,
      "resolution": null,
      "text": "National coalition"
    },
    {
      "id": "Ep2RtUz2CN",
      "index": 1,
      "is_other": false,
      "probability": 0.5041948490276267,
      "resolution": null,
      "text": "Labour coalition"
    }
  ],
  "bounty_left": null,
  "close_time": "2026-10-16T23:59:00.000Z",
  "cover_image_url": null,
  "created_time": "2026-01-02T02:49:42.760Z",
  "creator_id": "fSrex43BDjeneNZ4ZLfxllSb8b42",
  "creator_name": "N.C. Young",
  "creator_username": "NcyRocks",
  "description": "Resolves to the first government formed after the election.",
  "id": "5s6c88PRZA",
  "is_log_scale": false,
  "is_resolved": false,
  "last_bet_time": "2026-10-13T20:25:09.399Z",
  "last_comment_time": null,
  "last_updated_time": "2026-10-13T20:25:09.399Z",
  "max": null,
  "mechanism": "cpmm-multi-1",
  "min": null,
  "outcome_type": "MULTIPLE_CHOICE",
  "poll_options": [],
  "probability": null,
  "question": "What will be the outcome of the 2026 New Zealand General Election?",
  "resolution": null,
  "resolution_probability": null,
  "resolution_time": null,
  "should_answers_sum_to_one": true,
  "slug": "what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
  "token": "MANA",
  "topics": [
    "elections",
    "new-zealand"
  ],
  "total_bounty": null,
  "total_liquidity": 10000,
  "unique_bettor_count": 42,
  "url": "https://manifold.markets/NcyRocks/what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
  "value": null,
  "volume": 58064.24,
  "volume_24_hours": 3289.76
}
```

### Get market positions

List traders' positions in a market - their shares, what they invested and their profit - largest first.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Order by (`order`, text): Rank positions by profit (the default) or shares. One of: `profit`, `shares`.
- Top (`top`, number): Return this many of the highest-ranked positions. From 1 to 1000.
- Bottom (`bottom`, number): Return this many of the lowest-ranked positions. From 1 to 1000.
- User (`user`, text): Only this user's position: a username, user id or profile link.
- Answer ID (`answer_id`, text): For a multiple-choice market, the answer's id - the 'id' of one of Get market's answers.

**Outputs**

- `count` (number)
- `market_id` (text)
- `positions` (list)

**Example output**

```json
{
  "count": 1,
  "market_id": "5s6c88PRZA",
  "positions": [
    {
      "answer_id": null,
      "invested": 9481.86,
      "last_bet_time": "2026-01-02T02:58:50.472Z",
      "loan": 1290.1,
      "market_id": "5s6c88PRZA",
      "no_shares": 10060.29,
      "outcome": "NO",
      "payout": 11455.67,
      "profit": 1973.8,
      "profit_percent": 20.82,
      "user_id": "fSrex43BDjeneNZ4ZLfxllSb8b42",
      "user_name": "N.C. Young",
      "user_username": "NcyRocks",
      "yes_shares": 3222.36
    }
  ]
}
```

### Get market probability

Read a market's probability right now, or each answer's on a multiple-choice market. Fresher than Get market, and lighter.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.

**Outputs**

- `answer_probabilities` (object): Each answer's id and its probability, from 0 to 1
- `market_id` (text)
- `probability` (number): From 0 to 1; empty for a multiple-choice market

**Example output**

```json
{
  "answer_probabilities": {
    "5t00sl6Egq": 0.4879,
    "Ep2RtUz2CN": 0.5042
  },
  "market_id": "5s6c88PRZA",
  "probability": null
}
```

### Get my account

Read the account the API key belongs to: its id, username and mana balance.

**Inputs**: None.

**Outputs**

- `avatar_url` (text)
- `balance` (number): Mana balance
- `bio` (text)
- `created_time` (text)
- `current_betting_streak` (number)
- `discord_handle` (text)
- `id` (text)
- `is_admin` (true/false)
- `is_banned_from_posting` (true/false)
- `is_bot` (true/false)
- `is_deleted` (true/false)
- `is_moderator` (true/false)
- `last_bet_time` (text)
- `name` (text)
- `total_deposits` (number)
- `twitter_handle` (text)
- `url` (text)
- `username` (text)
- `website` (text)

**Example output**

```json
{
  "avatar_url": "https://example.com/avatar.png",
  "balance": 9122.6,
  "bio": "I build Manifold!",
  "created_time": "2021-12-09T01:02:47.273Z",
  "current_betting_streak": 3,
  "discord_handle": "akrolsmir",
  "id": "igi2zGXsfxYPgB0DJTXVJVmwCOr2",
  "is_admin": false,
  "is_banned_from_posting": false,
  "is_bot": false,
  "is_deleted": false,
  "is_moderator": false,
  "last_bet_time": "2026-09-30T00:35:19.647Z",
  "name": "Austin",
  "total_deposits": 10339.0,
  "twitter_handle": "akrolsmir",
  "url": "https://manifold.markets/Austin",
  "username": "Austin",
  "website": "https://blog.austn.io"
}
```

### Get portfolio

Read a user's live portfolio: mana balance, the value of their positions, loans and today's profit. Leave User empty for your own.

**Inputs**

- User (`user`, text): A username, user id or profile link. Leave empty for the connected account.

**Outputs**

- `as_of` (text)
- `balance` (number)
- `daily_profit` (number)
- `investment_value` (number)
- `loan_total` (number)
- `profit` (number)
- `total_deposits` (number)
- `user_id` (text)

**Example output**

```json
{
  "as_of": "2026-10-13T21:37:17.737Z",
  "balance": 167200.48,
  "daily_profit": 42.02,
  "investment_value": 48440.66,
  "loan_total": 17185.34,
  "profit": null,
  "total_deposits": 176064.79,
  "user_id": "igi2zGXsfxYPgB0DJTXVJVmwCOr2"
}
```

### Get topic

Read a topic by slug, id or link: its name, id and member count.

**Inputs**

- Topic (`topic`, text, required): The topic's slug, id or link - the slug is the last part of its link, such as 'ai' in https://manifold.markets/topic/ai.

**Outputs**

- `about` (text)
- `created_time` (text)
- `creator_id` (text)
- `id` (text)
- `name` (text)
- `privacy_status` (text)
- `slug` (text)
- `total_members` (number)
- `url` (text)

**Example output**

```json
{
  "about": null,
  "created_time": "2023-03-30T21:31:00.382Z",
  "creator_id": "ZqQWFwIip5ga2Revf9WnaWU5Kmi2",
  "id": "i5JOzjrK5ZMHPSkhgzoi",
  "name": "Elections",
  "privacy_status": "public",
  "slug": "elections",
  "total_members": 1995,
  "url": "https://manifold.markets/topic/elections"
}
```

### Get user

Read a user's profile and mana balance by username, user id or profile link.

**Inputs**

- User (`user`, text, required): A username (as in manifold.markets/Austin), a user id, or a profile link.

**Outputs**

- `avatar_url` (text)
- `balance` (number): Mana balance
- `bio` (text)
- `created_time` (text)
- `current_betting_streak` (number)
- `discord_handle` (text)
- `id` (text)
- `is_admin` (true/false)
- `is_banned_from_posting` (true/false)
- `is_bot` (true/false)
- `is_deleted` (true/false)
- `is_moderator` (true/false)
- `last_bet_time` (text)
- `name` (text)
- `total_deposits` (number)
- `twitter_handle` (text)
- `url` (text)
- `username` (text)
- `website` (text)

**Example output**

```json
{
  "avatar_url": "https://example.com/avatar.png",
  "balance": 9122.6,
  "bio": "I build Manifold!",
  "created_time": "2021-12-09T01:02:47.273Z",
  "current_betting_streak": 3,
  "discord_handle": "akrolsmir",
  "id": "igi2zGXsfxYPgB0DJTXVJVmwCOr2",
  "is_admin": false,
  "is_banned_from_posting": false,
  "is_bot": false,
  "is_deleted": false,
  "is_moderator": false,
  "last_bet_time": "2026-09-30T00:35:19.647Z",
  "name": "Austin",
  "total_deposits": 10339.0,
  "twitter_handle": "akrolsmir",
  "url": "https://manifold.markets/Austin",
  "username": "Austin",
  "website": "https://blog.austn.io"
}
```

### List bets

List bets, newest first, on a market, by a user, or both - optionally only open limit orders or bets from a time window.

**Inputs**

- Market (`market`, text): Only this market: its id, slug or link.
- User (`user`, text): Only this user: a username, user id or profile link.
- Answer ID (`answer_id`, text): For a multiple-choice market, the answer's id - the 'id' of one of Get market's answers.
- Open limit orders only (`open_limit_orders_only`, true/false): Only limit orders that are still waiting to fill.
- After (`after_time`, date and time): Only bets placed after this time.
- Before (`before_time`, date and time): Only bets placed before this time.
- Order (`order`, text): Defaults to newest first. One of: `desc` (Newest first), `asc` (Oldest first).
- Limit (`limit`, number): How many to return, up to 1,000. From 1 to 1000.
- Before bet ID (`before`, text): For the next page: the 'id' of the last bet of the previous one.

**Outputs**

- `bets` (list): The matching bets
- `count` (number)

**Example output**

```json
{
  "bets": [
    {
      "amount": 15,
      "answer_id": "Ep2RtUz2CN",
      "created_time": "2026-10-13T20:25:09.399Z",
      "expires_at": null,
      "id": "5lCIEchhc806",
      "is_cancelled": false,
      "is_filled": true,
      "limit_probability": 0.51,
      "market_id": "5s6c88PRZA",
      "order_amount": 15,
      "outcome": "YES",
      "probability_after": 0.5042,
      "probability_before": 0.5029,
      "shares": 29.79,
      "user_id": "6QbSCyAp99WD7OYN0Dsl8vpMHC82"
    }
  ],
  "count": 1
}
```

### List comments

List a market's comments or a user's, as plain text, newest first.

**Inputs**

- Market (`market`, text): The market whose comments to list: its id, slug or link. Give this, a User, or both.
- User (`user`, text): Only this user's comments: a username, user id or profile link.
- Order (`order`, text): Defaults to newest first. One of: `newest` (Newest first), `oldest` (Oldest first), `likes` (Most liked).
- Limit (`limit`, number): How many to return, up to 1,000. From 1 to 1000.
- Page (`page`, number): Which page of Limit comments, starting at 0. At least 0.

**Outputs**

- `comments` (list): The comments, as plain text
- `count` (number)

**Example output**

```json
{
  "comments": [
    {
      "created_time": "2026-10-12T21:47:01.503Z",
      "id": "j333hxsz3p",
      "likes": 2,
      "market_id": "5s6c88PRZA",
      "market_question": "What will be the outcome of the 2026 New Zealand General Election?",
      "market_slug": "what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
      "reply_to_comment_id": null,
      "text": "Polls have tightened.",
      "user_id": "j3qXHWAZS4b37tlcY3u22l1D1qF3",
      "user_name": "Jack",
      "user_username": "Jack1"
    }
  ],
  "count": 1
}
```

### Place bet

Spend mana on YES or NO shares, at the market price or as a limit order that waits for its price. Use Dry run to preview the shares and new probability without betting.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Amount (`amount`, number, required): The mana to spend, at least M$1. At least 1.
- Outcome (`outcome`, text): Buy YES or NO shares. On a multiple-choice market, of the answer. One of: `YES`, `NO`. Default: `YES`.
- Answer ID (`answer_id`, text): Required on a multiple-choice market: the answer to bet on, from Get market's answers.
- Limit probability (%) (`limit_probability`, number): Make it a limit order at this whole percent, from 1 to 99: it fills only at this price or better, and the rest waits for later bets. From 1 to 99.
- Expires at (`expires_at`, date and time): For a limit order: when to cancel what is still unfilled.
- Dry run (`dry_run`, true/false): Simulate the bet without placing it.

**Outputs**

- `amount` (number): Mana spent so far
- `answer_id` (text)
- `created_time` (text)
- `expires_at` (text)
- `id` (text)
- `is_cancelled` (true/false)
- `is_filled` (true/false)
- `limit_probability` (number)
- `market_id` (text)
- `order_amount` (number): Mana ordered
- `outcome` (text)
- `probability_after` (number)
- `probability_before` (number)
- `shares` (number)
- `user_id` (text)

**Example output**

```json
{
  "amount": 15,
  "answer_id": "Ep2RtUz2CN",
  "created_time": "2026-10-13T20:25:09.399Z",
  "expires_at": null,
  "id": "5lCIEchhc806",
  "is_cancelled": false,
  "is_filled": true,
  "limit_probability": 0.51,
  "market_id": "5s6c88PRZA",
  "order_amount": 15,
  "outcome": "YES",
  "probability_after": 0.5042,
  "probability_before": 0.5029,
  "shares": 29.79,
  "user_id": "6QbSCyAp99WD7OYN0Dsl8vpMHC82"
}
```

### Post comment

Comment on a market, or reply to a comment, in Markdown. Manifold charges M$1 for each comment posted through its API.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Comment (`text`, text, required): The comment, in Markdown, up to 10,000 characters.
- Reply to comment ID (`reply_to_comment_id`, text): Reply to this comment on the same market.

**Outputs**

- `created_time` (text)
- `id` (text)
- `likes` (number)
- `market_id` (text)
- `market_question` (text)
- `market_slug` (text)
- `reply_to_comment_id` (text)
- `text` (text)
- `user_id` (text)
- `user_name` (text)
- `user_username` (text)

**Example output**

```json
{
  "created_time": "2026-10-12T21:47:01.503Z",
  "id": "j333hxsz3p",
  "likes": 2,
  "market_id": "5s6c88PRZA",
  "market_question": "What will be the outcome of the 2026 New Zealand General Election?",
  "market_slug": "what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
  "reply_to_comment_id": null,
  "text": "Polls have tightened.",
  "user_id": "j3qXHWAZS4b37tlcY3u22l1D1qF3",
  "user_name": "Jack",
  "user_username": "Jack1"
}
```

### Resolve market

Resolve a market you created and pay out its traders: YES, NO, a probability, a number, the winning answer or answers, or N/A to cancel it and refund everyone.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Outcome (`outcome`, text, required): Yes/no markets resolve Yes, No or to a probability; numeric markets to a number; multiple-choice markets to one answer or a split. Any market can resolve N/A. One of: `YES`, `NO`, `PROB` (A probability), `NUMBER` (A number (numeric market)), `CHOOSE_ONE` (One answer wins (multiple choice)), `CHOOSE_MULTIPLE` (Split between answers (multiple choice)), `CANCEL` (N/A (cancel and refund every trade)).
- Answer ID (`answer_id`, text): With 'One answer wins', the winning answer. With Yes, No or a probability on a market whose answers resolve separately, the answer to resolve. Only when Outcome is Yes, No, A probability or One answer wins (multiple choice).
- Probability (%) (`probability`, number): The probability to pay out at, from 0 to 100. Only when Outcome is A probability. From 0 to 100.
- Value (`value`, number): The number the market resolves to, within its range. Only when Outcome is A number (numeric market).
- Answer percentages (`answer_percentages`, object): Each winning answer's id and its share of the payout in percent. The shares must add up to 100. Only when Outcome is Split between answers (multiple choice).

**Outputs**

- `answer_id` (text)
- `market_id` (text)
- `message` (text)
- `outcome` (text)

**Example output**

```json
{
  "answer_id": "5t00sl6Egq",
  "market_id": "5s6c88PRZA",
  "message": "success",
  "outcome": "CHOOSE_ONE"
}
```

### Search markets

Find markets by words in the question, filtered by status, kind, topic and creator and sorted like Manifold's browse page. Multiple-choice markets include each answer's probability.

**Inputs**

- Search (`term`, text): Words to find. Leave empty to browse.
- Sort (`sort`, text): Defaults to best match. One of: `score` (Best match), `most-popular` (Most popular), `newest`, `24-hour-vol` (Most traded in 24 hours), `liquidity` (Most liquidity), `last-updated` (Recently updated), `close-date` (Close date), `resolve-date` (Resolve date), `prob-descending` (Highest probability), `prob-ascending` (Lowest probability).
- Status (`status`, text): Open, closed, resolved or closing soon. Defaults to any. One of: `all` (Any), `open`, `closed`, `resolved`, `closing-day` (Closing within a day), `closing-week` (Closing within a week), `closing-month` (Closing within a month), `closing-90-days` (Closing within 90 days).
- Market type (`market_type`, text): Defaults to any. One of: `ALL` (Any), `BINARY` (Yes/no), `MULTIPLE_CHOICE` (Multiple choice), `DEPENDENT_MULTIPLE_CHOICE` (Multiple choice, one answer wins), `INDEPENDENT_MULTIPLE_CHOICE` (Multiple choice, answers resolve separately), `PSEUDO_NUMERIC` (Numeric), `POLL`, `BOUNTIED_QUESTION` (Bounty question).
- Topic (`topic`, text): Only markets in this topic: its slug, id or link.
- Creator (`creator`, text): Only markets this user created: a username, user id or profile link.
- Limit (`limit`, number): How many to return, up to 1,000. Defaults to 100. From 1 to 1000.
- Offset (`offset`, number): How many results to skip, for the next page. From 0 to 1000.

**Outputs**

- `count` (number)
- `markets` (list): The matching markets

**Example output**

```json
{
  "count": 2,
  "markets": [
    {
      "answers": [],
      "close_time": "2027-01-02T07:59:00.000Z",
      "created_time": "2024-01-18T00:11:41.985Z",
      "creator_id": "AHf5jynaHbNiNiwoYx1UfhRMq3Q2",
      "creator_name": "Matthew Barnett",
      "creator_username": "MatthewBarnett",
      "id": "X6Cn5ebU5ugo5DF9K4Ps",
      "is_log_scale": false,
      "is_resolved": false,
      "last_bet_time": "2026-10-13T07:05:06.153Z",
      "last_comment_time": "2026-10-13T06:05:33.983Z",
      "last_updated_time": "2026-10-13T07:05:06.153Z",
      "max": null,
      "mechanism": "cpmm-1",
      "min": null,
      "outcome_type": "BINARY",
      "probability": 0.9828795923833469,
      "question": "Will AIs beat human experts on the GPQA benchmark before 2027?",
      "resolution": null,
      "resolution_probability": null,
      "resolution_time": null,
      "slug": "will-ais-beat-human-experts-in-ques",
      "token": "MANA",
      "total_liquidity": 1000,
      "unique_bettor_count": 34,
      "url": "https://manifold.markets/MatthewBarnett/will-ais-beat-human-experts-in-ques",
      "value": null,
      "volume": 9765.46,
      "volume_24_hours": 5001
    },
    {
      "answers": [
        {
          "id": "5t00sl6Egq",
          "index": 0,
          "is_other": false,
          "probability": 0.487878192328553,
          "resolution": null,
          "text": "National coalition"
        },
        {
          "id": "Ep2RtUz2CN",
          "index": 1,
          "is_other": false,
          "probability": 0.5041948490276267,
          "resolution": null,
          "text": "Labour coalition"
        }
      ],
      "close_time": "2026-10-16T23:59:00.000Z",
      "created_time": "2026-01-02T02:49:42.760Z",
      "creator_id": "fSrex43BDjeneNZ4ZLfxllSb8b42",
      "creator_name": "N.C. Young",
      "creator_username": "NcyRocks",
      "id": "5s6c88PRZA",
      "is_log_scale": false,
      "is_resolved": false,
      "last_bet_time": "2026-10-13T20:25:09.399Z",
      "last_comment_time": null,
      "last_updated_time": "2026-10-13T20:25:09.399Z",
      "max": null,
      "mechanism": "cpmm-multi-1",
      "min": null,
      "outcome_type": "MULTIPLE_CHOICE",
      "probability": null,
      "question": "What will be the outcome of the 2026 New Zealand General Election?",
      "resolution": null,
      "resolution_probability": null,
      "resolution_time": null,
      "slug": "what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
      "token": "MANA",
      "total_liquidity": 10000,
      "unique_bettor_count": 42,
      "url": "https://manifold.markets/NcyRocks/what-will-be-the-outcome-of-the-202-ZUpIRANOpQ",
      "value": null,
      "volume": 58064.24,
      "volume_24_hours": 3289.76
    }
  ]
}
```

### Sell shares

Sell YES or NO shares back to the market for mana - all of them, or a number you give.

**Inputs**

- Market (`market`, text, required): The market's id, slug or link, such as https://manifold.markets/Austin/will-it-rain. Search markets returns ids.
- Outcome (`outcome`, text, required): Which shares to sell, YES or NO. One of: `YES`, `NO`.
- Shares (`shares`, number): How many shares to sell. Leave empty to sell them all.
- Answer ID (`answer_id`, text): Required on a multiple-choice market: the answer whose shares to sell.

**Outputs**

- `amount` (number): Mana spent so far
- `answer_id` (text)
- `created_time` (text)
- `expires_at` (text)
- `id` (text)
- `is_cancelled` (true/false)
- `is_filled` (true/false)
- `limit_probability` (number)
- `market_id` (text)
- `order_amount` (number): Mana ordered
- `outcome` (text)
- `probability_after` (number)
- `probability_before` (number)
- `shares` (number)
- `user_id` (text)

**Example output**

```json
{
  "amount": -14.2,
  "answer_id": "Ep2RtUz2CN",
  "created_time": "2026-10-13T20:25:09.399Z",
  "expires_at": null,
  "id": "5lCIEchhc806",
  "is_cancelled": false,
  "is_filled": true,
  "limit_probability": null,
  "market_id": "5s6c88PRZA",
  "order_amount": 15,
  "outcome": "YES",
  "probability_after": 0.5042,
  "probability_before": 0.5029,
  "shares": -29.79,
  "user_id": "6QbSCyAp99WD7OYN0Dsl8vpMHC82"
}
```

### Send mana

Send mana to one or more users, the same amount to each, with an optional message. At least M$10 each; you cannot send to yourself.

**Inputs**

- Recipients (`recipients`, list, required): Usernames, user ids or profile links.
- Amount (`amount`, number, required): The mana each recipient gets, at least M$10. At least 10.
- Message (`message`, text): A note the recipients see with the mana.

**Outputs**

- `amount` (number): Mana sent to each recipient
- `message` (text)
- `recipient_ids` (list)
- `total` (number)

**Example output**

```json
{
  "amount": 25,
  "message": "Thanks for the forecast!",
  "recipient_ids": [
    "igi2zGXsfxYPgB0DJTXVJVmwCOr2"
  ],
  "total": 25
}
```
