{"id":25620742,"url":"https://github.com/guidanoli/thinkchain","last_synced_at":"2026-05-14T18:33:43.492Z","repository":{"id":276998860,"uuid":"930934560","full_name":"guidanoli/thinkchain","owner":"guidanoli","description":"🧠 ThinkChain","archived":false,"fork":false,"pushed_at":"2025-02-19T04:34:24.000Z","size":198,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-14T16:58:38.880Z","etag":null,"topics":["cartesi","coprocessor","eigenlayer","llm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guidanoli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-11T13:04:22.000Z","updated_at":"2025-07-03T14:43:51.000Z","dependencies_parsed_at":"2025-02-14T14:22:27.289Z","dependency_job_id":"61d45691-f078-4f2b-b580-0b22a67334a8","html_url":"https://github.com/guidanoli/thinkchain","commit_stats":null,"previous_names":["guidanoli/ew3","guidanoli/chainthink"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/guidanoli/thinkchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidanoli%2Fthinkchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidanoli%2Fthinkchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidanoli%2Fthinkchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidanoli%2Fthinkchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guidanoli","download_url":"https://codeload.github.com/guidanoli/thinkchain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guidanoli%2Fthinkchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33037885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cartesi","coprocessor","eigenlayer","llm"],"created_at":"2025-02-22T07:27:54.799Z","updated_at":"2026-05-14T18:33:43.478Z","avatar_url":"https://github.com/guidanoli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThinkChain\n\nThinkChain is an on-chain service that enables smart contracts to perform _verifiable_ large language model (LLM) inference.\nThe service provides access to a variety of popular LLMs, such as DeepSeek-R1, DeepScaleR, Qwen2.5 and SmolLM2.\nA simple Solidity interface makes it easy for smart contracts to construct prompts and decode replies entirely on-chain.\nCompletion requests are charged in Ether.\n\n_Client_ contracts send completion requests to the _Completer_ contract, which issues tasks to EigenLayer operators.\nOperators run the selected inference model inside a Cartesi Machine to guarantee determinism.\nResults are then signed by operators, and an aggregated signature is submitted to a solver.\nOnce the solver submits the signed result on-chain, the _Completer_ forwards it to a _Callback_ contract, designated by the _Client_.\n\nThinkChain is suitable for smart contracts that would benefit from on-chain access to LLMs.\nExamples of use cases include AI agents, AI-assisted decision making, data analysis, and content generation.\n_Client_ contracts can propagate the cost of using the service to their users, and even charge extra for their services.\n\n## Features\n\n- Access to a wide variety of LLMs\n- Simple Solidity interface\n- Configurable inference options\n- Fast finality\n- Accepts payments in Ether\n\n## Overview\n\nFor a quick overview and demo of the project,\nyou can watch the presentation submitted for [Cartesi X EigenLayer Experimentation Week](https://cartesi-x-eigenlayer.devfolio.co/):\n\n[![ThinkChain Quick Demo](https://img.youtube.com/vi/Ni0cgn2cR2o/0.jpg)](https://youtu.be/Ni0cgn2cR2o)\n\n## Getting Started\n\nFirst, please make sure your machine contains all the necessary [dependencies](https://docs.mugen.builders/cartesi-co-processor-tutorial/installation).\nThen, clone this repository and its [submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) recursively.\n\n```sh\ngit clone --recurse-submodules https://github.com/guidanoli/thinkchain.git\n```\n\nIn order to run ThinkChain locally, you first need to start up a devnet.\n\n```sh\ncartesi-coprocessor start-devnet\n```\n\nOnce the devnet is up, you may publish the machine.\n\n```sh\ncartesi-coprocessor publish --network devnet\n```\n\nThen, you may deploy the contracts.\n\n```sh\nmake deploy\n```\n\nOnce the contracts are deployed, you can interactively request a completion.\n\n```sh\nmake request\n```\n\n## Documentation\n\nYou can learn more about ThinkChain smart contracts [here](./contracts/README.md).\n\n## Web Frontend\n\nThis repository also includes a proof-of-concept chat app that uses ThinkChain.\nYou can run it locally and interact with it through a web front-end.\n\n```sh\nmake run-frontend-dev\n```\n\nIn order to interact in the frontend you will need to import a wallet with funds,\nyou could import the wallet with the private key\n`0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80`\nin Metamask browser extension.\n\n## Related projects\n\n- [Cartesi Co-processor](https://github.com/zippiehq/cartesi-coprocessor)\n- [Cartesi](https://cartesi.io/)\n- [EigenLayer](https://www.eigenlayer.xyz/)\n\n## Authors\n\n- Eduardo Bart ([edubart](https://github.com/edubart))\n- Felipe F. Grael ([felipefg](https://github.com/felipefg))\n- Guilherme Dantas ([guidanoli](https://github.com/guidanoli))\n\n## License\n\nThinkChain is licensed under GPL-3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguidanoli%2Fthinkchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguidanoli%2Fthinkchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguidanoli%2Fthinkchain/lists"}