1 view

alsk1992/CloddsBot

Open Source AI trading agent that operates autonomously across 1000+ markets - Polymarket, Kalshi, Binance, Hyperliquid, Solana DEXs, 5 EVM chains. Scans for edge, executes instantly, manages risk while you sleep. Agent commerce protocol for machine-to-machine payments. Self-hosted. Built on Claude.

TypeScript★ 2,558+376 that day#7 on trending

Analyzed September 13, 2026 at c930628 (main) with jscpd 5.4.0 in 0.9s. Code duplication went from 6.52% on Sep 11 to 6.5% on Sep 13.

6.5%duplicated code · 19,187 of 295,367 lines
1,523clones in code
590code files of 1,043 scanned
5.85%duplicated over all files · 1,709 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.

Largest clones in the code

  • 9 lines in 18 placestypescript51 tokens
    10969    const response = await fetchPolymarketClob(context, 'https://clob.polymarket.com/time');
    10970    const data = await response.json() as ApiResponse;
    10971    return JSON.stringify(data);
    10972  } catch (err: unknown) {
    10973    return JSON.stringify({ error: (err as Error).message });
    10974  }
    10975}
    10976
    10977case 'polymarket_get_address': {
    
    11188    const response = await fetchPolymarketClob(context, `https://clob.polymarket.com/markets/${conditionId}/trades`);
    11189    const data = await response.json() as ApiResponse;
    11190    return JSON.stringify(data);
    11191  } catch (err: unknown) {
    11192    return JSON.stringify({ error: (err as Error).message });
    11193  }
    11194}
    11195
    11196// ========== ORDER OPERATIONS HANDLERS ==========
    11197case 'polymarket_get_order': {
    
  • 13 lines in 17 placestypescript50 tokens
    235    if (!response.ok) return JSON.stringify({ error: `Multi-bet failed: ${response.status}` });
    236    return JSON.stringify(await response.json());
    237  } catch (err: unknown) {
    238    return JSON.stringify({ error: (err as Error).message });
    239  }
    240}
    241
    242// =============================================================================
    243// READ HANDLERS (require auth)
    244// =============================================================================
    
    412    if (!response.ok) return JSON.stringify({ error: `Auth failed: ${response.status}` });
    413    return JSON.stringify(await response.json());
    414  } catch (err: unknown) {
    415    return JSON.stringify({ error: (err as Error).message });
    416  }
    417}
    418
    419// 12. manifold_get_user_portfolio
    420async function getUserPortfolioHandler(
    

    First 10 of 13 lines, the second copy on the right.

  • 16 lines in 11 placestypescript75 tokens
    1163    return `Error: ${error instanceof Error ? error.message : String(error)}`;
    1164  }
    1165}
    1166
    1167// ============================================================================
    1168// Main Execute Function
    1169// ============================================================================
    1170
    1171export async function execute(args: string): Promise<string> {
    1172  const parts = args.trim().split(/\s+/);
    
    716    return `Update failed: ${error instanceof Error ? error.message : String(error)}`;
    717  }
    718}
    719
    720// =============================================================================
    721// Main Execute Function
    722// =============================================================================
    723
    724export async function execute(args: string): Promise<string> {
    725  const parts = args.trim().split(/\s+/);
    

    First 10 of 16 lines, the second copy on the right.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
typescript564289,7341,51819,1446.61%
javascript124,1025431.05%
bash10804000%
python1296000%
rust2257000%
perl1174000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
typescript683308,6121,62320,3986.61%
markdown15138,964574661.2%
json152,6841234913%
javascript144,1706571.37%
text1142,5564321.25%
css11,8073392.16%
yaml121,8132281.54%
python41,355180.59%
markup1310161.94%
bash372,113000%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Sep 13, 2026#72,558 (+376)1,043365,3081,7095.85%6.5%—c930628
Sep 12, 2026#72,230 (+626)1,043365,3081,7095.85%6.5%—c930628
Sep 11, 2026#31,785 (+277)1,034364,4511,7135.88%6.52%—2a9c154

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.