agenteconomy.cloud with receipts

the verified data hub — every number recomputable

Fact check · trading agents · checked 2026-10-07

Did a Brazilian dropout’s Claude bot make $794,000 on Polymarket in 14 months?

What was claimed?

“A Brazilian college dropout moved into his parents garage and built a Polymarket trading bot using only open-source AI agents - it earned him $794,000 in 14 months. He didn't write a single line of code. Claude Opus wrote it all. … Wallet handle: Bonereaper. 40,266 trades. Total stack cost: $10/month.”

— @antpalkin on X, 2026-05-22 15:54:49 UTC; about 220,813 views, 737 likes and 98 reposts as fetched 2026-10-07. The earliest version we found. The wallet link carries a referral code, and the post ends with a copy-trading link under the same code.

The same post describes the set-up: “BRAIN - Claude Opus 4.7 via API. … RUNNER - Hetzner VPS. $5.99/month. Runs 24/7.” and “The bot trades BTC 5-minute Up/Down markets on Polymarket. 288 windows per day. One trade every 81 seconds.” It also says: “You read Telegram reports in the morning, approve the next session, and go back to sleep.” And it closes: “Or just copy BoneReaper trades using this TG bot - his algorithm has been perfected over 14 months and literally has no equal”.

“Un universitario brasileño que dejó la carrera, se mudó de vuelta al garaje de sus padres y construyó un bot de trading para Polymarket usando un AI agent open source. En 14 meses, ganó $794,000. … El código lo escribió básicamente Claude Opus. … La wallet se llama Bonereaper. 40,266 operaciones.”

— @robrtcode on X, 2026-05-26 12:15 UTC; about 551,237 views as fetched 2026-10-07, the widest version we found. In English: a Brazilian university student who quit his degree moved back into his parents’ garage and built a Polymarket bot with an open-source AI agent; in 14 months he made $794,000; Claude Opus basically wrote the code; the wallet is called Bonereaper; 40,266 trades.

In numbers: a profit of $794,000; 40,266 trades; 14 months; a stack costing $10 a month. No starting amount and no dates. No version names the person or cites a source for the story. The wallet’s public profile has no bio, no linked X account and no verified badge. We found no statement by whoever runs it.

The story travelled. We found 52 posts in 2026 that carry the $794,000 figure with a mark of this story (“14 months”, “Bonereaper” or “40,266”). They are in English, Spanish and Chinese, with about 1.1 million views between them as read 2026-10-07. The two accounts named on this page account for 849,202 of those views. Reposting accounts are not named; the search rule is in the recipe.

Five weeks earlier, on 2026-04-16, @antpalkin had described this wallet as one of “three wallets” using “the same math”. That post has no Brazilian student, no 14 months and no Claude. @antpalkin and the same referral code also appear in our check of the fired-Citadel-quant claim.

What did we check, and how?

The posts name the account, so its record is public: polymarket.com/@bonereaper, wallet 0xeebde7a0e019a63e6b476eb425505b7b3e6eba30. We read each post’s exact time from its post ID and its text from the X API. From Polymarket’s public APIs we pulled the account’s first activity, its deposits and withdrawals, its hourly and daily profit-and-loss, its full list of 307,108 positions (to count markets), its daily cumulative fill count, every sell, and every fill on ten sample days. We opened all 68 Internet Archive captures of the profile. All calls were made 2026-10-07; the exact URLs are in the recipe.

The account has about 8.9 million fills. A fill is one matched order, and one position can take many. That is too many to pull one by one. Fill counts come from Polymarket’s own daily counter. We checked that counter against the ten sample days: it was within 44 fills each day.

What does the record show?

QuestionThe claim saysThe public record says
How much “it earned him $794,000” Recomputable. Polymarket’s older profit-and-loss series for the wallet: $785,808.30 at 00:00 UTC on 2026-05-22, $794,039.60 at the hourly point labelled 11:00 (the first at or above it), and $795,634.80 at 15:00, the hour of the post. The profile displayed this series at the time. Of the 68 archived captures, 67 carry figures. From 2026-04-27 on, each archived figure equals an adjacent hourly point within $0.05 (14 captures). The 50 earlier captures sit within $3,262.63 of the nearest hourly point, which fits movement inside the hour. The chart in each of the 12 captures from 2026-05-04 to 2026-08-21 matches this series point for point. No capture exists for 2026-05-22. The last before the post, 2026-05-19 18:24 UTC, read 38,113 predictions and $767,833.35; the next is 2026-08-21 15:49 UTC. The $794,000 matches the series the profile showed at the time. Polymarket’s newer figures for the same day are much lower (see below).
How many “40,266 trades” Recomputable. The profile counter now reads “Markets Traded”; in archived captures it was labelled “Predictions”. Both count markets. Ordering the account’s markets by first entry in Polymarket’s positions list, number 40,266 was entered at 12:21 UTC on 2026-05-22. The list and the counter are close but not identical. In the 11 May captures the counter ran 6 to 13 below the list (38,113 against 38,121 on 2026-05-19, the last). With that lag, the counter would have reached 40,266 between about 12:30 and 12:45 UTC. Today the list holds 171,325 markets and the profile shows 171,871. Fills by the start of 2026-05-22: 3,266,989. The number matches the market count around midday that day. It counts markets, not trades.
How long “in 14 months”; “perfected over 14 months” Recomputable. Account created 2026-03-25 05:55 UTC. First activity 2026-03-25 06:25 UTC (DEPOSIT $9.98). First trade 2026-03-25 07:11 UTC, in “Bitcoin Up or Down - March 25, 3:00AM-3:15AM ET”. On the day of the first post the account was 58 days old. On 2026-07-18, when the claim was re-posted with 14 months again, it was 115 days old. The time span does not hold.
The later versions The same two numbers on 2026-05-26 and 2026-07-18; credited to “Claude Fable 5” from 2026-07-18 Recomputable. On 2026-05-26 the older series read $837,595.44 and the account had 42,999 markets. On 2026-07-18 it read $1,189,300.00, with 95,360 markets. Claude Fable 5 was announced on 2026-06-09 at 17:08 UTC. The older series passed $794,000 18 days before that.
How it traded “BTC 5-minute Up/Down markets … One trade every 81 seconds”; enter when “p ≥ 0.87” Recomputable. Markets by length: 75.0% 5-minute, 22.2% 15-minute, the rest hourly, 4-hour or unclassified (254 markets). On the sample days, 67.9% of fills were in Bitcoin markets and 24.7% in Ethereum. On 2026-05-15 the account made 56,681 fills in 740 markets. On 2026-05-25 it made 54,747 fills in 784 markets. It held both outcomes in 79.2% of its markets. It has sold 2,898 times in all, none after 2026-04-29. We did not test entry prices. On those days it filled an order about every one and a half seconds and entered a new market about every two minutes. Neither is one trade every 81 seconds.
Win rate “67% win rate” (a copy of 2026-05-23; “67% de Win Rate” in a Spanish copy of 2026-07-27) Recomputable. By the profit-and-loss field of the positions list, 88,905 markets were net positive at fetch time, 82,281 net negative and 139 at zero: 51.9% of the markets with a result were positive. 7 positions were still open. The field sums to −$121,671.84, within $58.19 of Polymarket’s own position total. The older daily series fell on 28 of 195 days. The largest fall, −$15,987.10, came during 2026-08-08 UTC. The posts do not define their 67%. By markets, 51.9% were net positive.
Money in and out Not stated Recomputable. Deposits: 56 rows, $106,508.94, of which $88,024.63 on 2026-03-25. Withdrawals: 15 rows, $459,088.00, from 2026-03-26 to 2026-08-28; $114,023.00 of it before the first post. Withdrawals exceed deposits by $352,579.06. Direct transfers in are not classified as deposits, so the starting sum may be larger than the deposit rows show.
Who, and with what A Brazilian college dropout in his parents’ garage; no code; Claude Opus (or Claude Fable 5) and Hermes; $10 a month for the whole stack, including a $5.99 Hetzner server; a nightly self-rewrite Unverifiable by nature. Nothing in a ledger shows a person, a country, a program or a server bill. The profile has no bio and no linked account.

Profile page as displayed 2026-10-07 05:22:35 UTC: “Joined Mar 2026 · 314.5K views”, positions value “$1,553.94”, biggest win “$22.0K” (the API value is $21,997.53), “171,871 Markets Traded”, “Total PnL +$1.3M”, “Total Volume 257.1M”. The last trade at fetch time was 2026-10-07 05:24 UTC; the account is still trading.

Which profit figure does the claim match?

The $794,000 matches Polymarket’s older profit-and-loss series. Polymarket also publishes newer figures for this wallet, and they disagree with the older series by large amounts. The profile showed the older series in every archived capture from April to August 2026. It read $1,465,015.50 at 05:00 UTC today.

By 2026-10-03 the profile had switched to a newer figure. Polymarket’s data labels it trade_pnl. The captures of 2026-10-03 show it in both the headline and the chart. Today’s profile shows it as “+$1.3M” ($1,263,650.02).

The newer data has two more totals, labelled position_pnl and economic_pnl. At 00:00 UTC on 2026-05-22 the four figures read: older series $785,808.30; trade_pnl $595,488.69; economic_pnl $78,453.04; position_pnl $34,759.69. The older series stood $707,355.26 above economic_pnl that day.

Today’s split, as of 2026-10-07 04:44:29 UTC, adds up as follows. trade_pnl ($1,263,650.02) equals position_pnl (−$121,613.65) minus fees_paid (−$1,385,263.67). economic_pnl ($411,770.99) equals position_pnl plus wallet_income ($533,384.64). Wallet income is maker rebates ($154,486.24), taker rebates ($374,087.82), rewards and referrals. Both sums check to the cent. We found no Polymarket document that defines each field, so we print the arithmetic and not a reading of it. How much the account earned depends on which figure you use.

What does this prove, and what does it not?

How did the claim change as it spread?

Recompute it yourself

  1. Post times come from the post IDs: milliseconds since 1970 = (id >> 22) + 1288834974657. 2057852690395230661 → 2026-05-22 15:54:49 UTC (first post); 2059247093475070380 → 2026-05-26 12:15:40 UTC (widest version); 2078472517438906410 → 2026-07-18 13:30:38 UTC (Claude Fable 5 version); 2058171494849544243 → 2026-05-23 13:01:38 UTC (the first poster’s follow-up); 2044751808224964620 → 2026-04-16 12:16:35 UTC (the earlier description of the wallet); 2064394146916229443 → 2026-06-09 17:08:13 UTC (the Claude Fable 5 announcement, which the 18 days rest on); 2058161377190322418 → 2026-05-23 12:21:25 UTC and 2081883337686466703 → 2026-07-27 23:24:01 UTC (the “67% win rate” copies); 2080411386161815891 → 2026-07-23 21:55:01 UTC (the “+$1,202,150 in 4 months” post); 2057840731826405747 → 2026-05-22 15:07:17 UTC (the X Article the first post quotes). Post texts and view counts: GET https://api.fxtwitter.com/status/<id>. In quotes on this page, line breaks are collapsed to a space, “…” marks omitted text, and leading “> ” marks are dropped.
  2. Reach: GET https://api.fxtwitter.com/2/search?q=<terms> (paged by cursor) for the terms 794,000 / $794,000 / 794,000 bot / 794,000 Claude / $794,000 polymarket / $794K polymarket / 79.4万 polymarket / 794 Fable / 40,266 / bonereaper (latest and top) / bonereaper Fable / brasileño polymarket 794, plus from:<account> searches and https://api.fxtwitter.com/2/profile/<user>/statuses for the two named accounts and one reposting account (2,368 distinct posts collected). Keep posts created in 2026 whose text carries the 794 figure ($794,000, 794,000, $794K or 79.4万) and at least one mark of this story: “14 months” in any language, “Bonereaper”, or “40,266”. That leaves 52 posts and 1,106,918 views as read 2026-10-07; the post IDs are listed in this page’s data file.
  3. Open polymarket.com/@bonereaper; the address repeated in the page source (45 times) is the proxy wallet, 0xeebde7a0e019a63e6b476eb425505b7b3e6eba30. The same data gives createdAt 2026-03-25T05:55:18Z.
  4. GET https://data-api.polymarket.com/activity?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&limit=5&offset=0&excludeDepositsWithdrawals=false&sortBy=TIMESTAMP&sortDirection=ASC — the first rows: a DEPOSIT of 9.98 USDC at 2026-03-25 06:25:55 UTC; first TRADE 07:11:51 UTC.
  5. GET https://user-pnl-api.polymarket.com/user-pnl?user_address=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&interval=all&fidelity=1h — hourly cumulative profit-and-loss (the older series). The first hourly point at or above 794,000 is the one labelled 2026-05-22 11:00 UTC (794,039.60); 15:00 UTC reads 795,634.80. Use fidelity=1d for the daily series (197 points from 2026-03-26; each daily point is the 00:00 UTC value, so a change between two points happened during the earlier day).
  6. GET https://web.archive.org/cdx/search/cdx?url=polymarket.com/@bonereaper*&filter=statuscode:200&fl=timestamp,original,length (61 captures) and https://web.archive.org/cdx/search/cdx?url=polymarket.com/profile/0xeebde7a0e019a63e6b476eb425505b7b3e6eba30*&filter=statuscode:200&fl=timestamp,original,length (7 captures) — 68 in all. Open every one as https://web.archive.org/web/<timestamp>id_/<original>. In the page data, the /api/profile/userData query holds the counter (“trades”, shown as “Predictions”) and the /api/profile/volume query holds the profit figure; the portfolio-pnl queries hold the profile chart. 67 captures carry figures (63 before the first post, 4 after); the last before the post is 2026-05-19 18:24 UTC and the next is 2026-08-21 15:49 UTC. Compare each figure with the hourly points on either side, and each chart with both series.
  7. GET https://data-api.polymarket.com/v2/positions?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&status=CLOSED&limit=1000, then again with &cursor=<next_cursor> until has_more is false; repeat with status=OPEN (308 calls, 307,108 rows, 171,325 distinct condition_id values). For each market take the earliest first_entry_at across its rows (95 markets have none and are left out of the ordering) and sort: market number 40,266 was first entered 2026-05-22 12:21 UTC. Count markets with first_entry_at before 2026-05-22, 05-26 and 07-18 00:00 UTC for the 39,851, 42,999 and 95,360. Classify each market’s length from its slug (-updown-5m-, -15m-, …) or the time range in its title; markets that fit neither are unclassified. A market counts as both outcomes held when it has rows for both outcome_index values. Sum each market’s total_pnl across its rows: above +$0.005 is net positive, below −$0.005 net negative, the rest zero. A second pull of the same list later on 2026-10-07 gave the counter comparison: the counter in each archived capture against the number of markets first entered before that capture’s page-data time.
  8. GET https://data-api.polymarket.com/v2/user-pnl?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&interval=all&fidelity=1d — Polymarket’s newer daily series. Its trade_count field is cumulative fills (3,266,989 at 2026-05-22 00:00 UTC); trade_pnl, position_pnl and economic_pnl are the three newer profit figures. GET https://data-api.polymarket.com/v2/user-stats?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30 — today’s split of trade_pnl, position_pnl, fees and wallet income.
  9. GET https://data-api.polymarket.com/activity?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&type=DEPOSIT,WITHDRAWAL&excludeDepositsWithdrawals=false&limit=500&offset=0&sortBy=TIMESTAMP&sortDirection=ASC — 56 deposits and 15 withdrawals.
  10. GET https://data-api.polymarket.com/activity?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&type=TRADE&side=SELL&limit=500&offset=0&sortBy=TIMESTAMP&sortDirection=ASC (paged) — 2,898 sell fills in all, the last on 2026-04-29.
  11. Day samples: GET https://data-api.polymarket.com/activity?user=0xeebde7a0e019a63e6b476eb425505b7b3e6eba30&type=TRADE&start=<day 00:00 UTC>&end=<day 23:59:59 UTC>&limit=500&offset=0&sortBy=TIMESTAMP&sortDirection=ASC, paged, for 2026-03-26, 04-15, 05-15, 05-25, 06-15, 07-15, 07-17, 08-15, 09-15 and 10-06 (486,892 fills). Classify each fill by the market title’s length (5-minute, 15-minute, hourly, 4-hour) and asset.

Statuses used on this site are defined on the fact-check index. This page carries ClaimReview structured data that matches its text.