{"id":49866425,"url":"https://github.com/pablo-chacon/act-protocol","last_synced_at":"2026-05-15T03:12:38.849Z","repository":{"id":355624930,"uuid":"1134589028","full_name":"pablo-chacon/act-protocol","owner":"pablo-chacon","description":"ACT is a minimal, neutral Ethereum settlement protocol for real-world, non-digital services.","archived":false,"fork":false,"pushed_at":"2026-05-04T13:38:15.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T15:35:41.722Z","etag":null,"topics":["ethereum","nft","p2p","real-world","services","smart-contracts","web2","web3"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pablo-chacon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-14T23:27:42.000Z","updated_at":"2026-05-04T13:39:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pablo-chacon/act-protocol","commit_stats":null,"previous_names":["pablo-chacon/act-protocol"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/pablo-chacon/act-protocol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-chacon%2Fact-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-chacon%2Fact-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-chacon%2Fact-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-chacon%2Fact-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pablo-chacon","download_url":"https://codeload.github.com/pablo-chacon/act-protocol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablo-chacon%2Fact-protocol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33051914,"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-15T02:00:06.351Z","response_time":103,"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":["ethereum","nft","p2p","real-world","services","smart-contracts","web2","web3"],"created_at":"2026-05-15T03:12:37.700Z","updated_at":"2026-05-15T03:12:38.842Z","avatar_url":"https://github.com/pablo-chacon.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ACT Protocol\n\n**Autonomous Contract for Services**\n\nACT is a minimal, neutral Ethereum settlement protocol for real-world, non-digital services.\n\nExamples include personal training, massage, psychologist sessions, cleaning, consulting, repairs, construction, contracting, and other services performed outside the blockchain.\n\nAuthors of ACT Protocol are not responsible in any way for any kind of service registered.\n\nACT does not operate a marketplace, does not verify service delivery, and does not manage identity, reputation, scheduling, safety, disputes, or compliance.\n\nACT is a protocol, not a platform.\n\n---\n\n## Legal Disclaimer\n\nThis repository contains general-purpose, open-source smart contracts implementing a neutral settlement protocol.\n\nThe authors and contributors:\n\n* do not operate a service marketplace or platform\n* do not verify or supervise service providers or customers\n* do not guarantee service delivery or outcomes\n* do not perform KYC, AML, or identity verification\n* do not provide legal, financial, or regulatory advice\n* are not responsible for deployments, integrations, or real-world usage\n\nAll deployments of ACT Protocol are performed at the risk of the deployer and the integrating platform.\n\nNo warranty of any kind is provided.\nThe software is offered strictly as-is, without guarantees of fitness for any purpose.\nThe authors are not liable for any damages, losses, claims, or issues arising from the use, misuse, or failure of this software or any derivative work.\n\nBy using, deploying, integrating, or interacting with this software in any form, you agree that all responsibility for legal compliance, operation, and outcomes lies solely with you.\n\n---\n\n## Design Goals\n\nACT is designed to be:\n\n* minimal\n* deterministic\n* neutral\n* immutable\n* composable\n* privacy-preserving\n\nThe protocol does exactly one thing:\n\n\u003e It escrow-settles a single real-world service instance.\n\nEverything else is intentionally out of scope.\n\n---\n\n## Protocol Finality\n\nACT is finished infrastructure.\n\n* no upgrades\n* no governance\n* no admin intervention\n* no mutable parameters\n* no emergency controls\n\nAll behavior is fully defined by the deployed contracts.\n\nOnce deployed, ACT is never changed.\n\n---\n\n## Start building\n\nACT protocol **Quick Start Templates** repository:\n\nhttps://github.com/pablo-chacon/act-templates\n\n---\n\n## Core Concept\n\nEach accepted service instance is represented by a non-transferable ERC-721 service handle.\n\nProperties:\n\n* 1 tokenId == 1 accepted service instance\n* token is mint-only and burn-only\n* transfers are disabled\n* approvals are disabled\n* token cannot be traded, reused, or accumulated\n* token is always burned on settlement\n\nThe token has no financial or speculative purpose.\n\nIt exists solely as cryptographic proof of a single service settlement lifecycle and as an authorization handle for off-chain booking data controlled by the integrating platform.\n\n---\n\n## Ethereum Mainnet Deployment\n\nOfficial ACT Protocol contract addresses:\n\n- ActToken: 0x5B81FcA920fCdf667B310e8ae1F78a69cff49db9\n- ActEscrow: 0xE69bDf3279f545eA541aDF3AEB2153C052EbD1AF\n- ActCore: 0x70C5Ec74317EdFab13314B89342E1F70BaCa018e\n- ActTreasury: 0x44504504938CcBF8D0d99B370A882b94ffCf2423\n\n---\n\n## Service Lifecycle\n\nACT separates service offering from service acceptance.\n\nThe lifecycle is strictly deterministic:\n\nprovider -\u003e create offer\nbuyer -\u003e accept offer and fund escrow\nbuyer or provider -\u003e finalize\nanyone -\u003e finalize after expiry\n\nACT does not interpret the service itself. It only enforces settlement rules.\n\n---\n\n### 1. Create Service Offer\n\nThe service provider creates a service offer on-chain.\n\nInputs:\n\n* `paymentToken` -\u003e ERC-20 token required for settlement\n* `amount` -\u003e price for the service\n* `serviceHash` -\u003e hash commitment to off-chain service terms\n* `slotStart` -\u003e platform-defined start boundary\n* `slotEnd` -\u003e platform-defined end boundary\n\nNotes:\n\n* no funds are moved\n* no token is minted\n* offers are immutable once published\n* offers are publicly discoverable on-chain\n* ACT does not validate availability, location, identity, or safety\n\nThe `serviceHash` is an opaque commitment to off-chain booking data such as time, place, safety requirements, cancellation terms, or identity checks. ACT never stores that data.\n\n---\n\n### 2. Accept Service Offer\n\nA buyer accepts a published service offer.\n\nOn acceptance:\n\n* ERC-20 funds are transferred into escrow\n* a non-transferable ERC-721 handle is minted to the buyer\n* the service becomes active\n\nAcceptance is the economic commitment point.\n\nFrom this moment, settlement is guaranteed by protocol rules.\n\n---\n\n### 3. Finalize Service\n\nFinalization rules are deterministic:\n\n* buyer can finalize at any time\n* provider can finalize at any time\n* anyone can finalize after `expiresAt`\n\nOn finalization:\n\n* escrow releases funds\n* provider receives payout\n* protocol fee is sent to treasury\n* service handle token is burned\n\nFinalization is irreversible.\nThere is no rollback.\nThere is no arbitration logic.\n\n---\n\n## Deterministic Expiry\n\nFor every accepted service, the protocol computes a force-finalization time:\n\n```\nexpiresAt = slotEnd + (slotLength / 4) + 72 hours\n```\n\nThis guarantees liveness without encoding service semantics.\n\nFunds can never be locked indefinitely.\n\n---\n\n## Settlement Model and Responsibility Boundary\n\nACT is intentionally dispute-free at the protocol level.\n\nOnce a buyer accepts a service offer:\n\n* funds are escrowed\n* settlement is guaranteed\n* provider payout is enforced by protocol rules upon finalization\n\nACT does not determine whether a service was performed correctly.\n\nACT does not implement refunds, arbitration, chargebacks, or mediation.\n\nProtection mechanisms such as:\n\n* identity verification\n* fraud prevention\n* cancellation policies\n* safety screening\n* no-show handling\n* dispute resolution\n* insurance\n* buyer protection funds\n\nmust be implemented by the integrating platform.\n\nACT is a neutral settlement rail. Platforms are responsible for real-world coordination and risk management.\n\n---\n\n## Extensions and Overruns\n\nIf a service exceeds its expected scope or duration, for example a construction project running late:\n\n* ACT does not renegotiate\n* ACT does not amend escrows\n* ACT does not extend deadlines\n\nRecommended pattern:\n\nparties agree off-chain -\u003e\nprovider creates new offer -\u003e\nbuyer accepts new offer -\u003e\nnew handle represents extension -\u003e\nnew escrow represents additional payment\n\nThis preserves determinism and auditability.\n\n---\n\n## Protocol Fee\n\nACT enforces a fixed, immutable protocol fee:\n\n* 0.5 percent of the escrowed amount\n* paid to the protocol treasury\n* treasury address is immutable\n\nNo platform fees are enforced by the protocol.\n\n---\n\n## Currency Neutrality\n\nACT is currency-neutral at the platform layer.\n\nOn-chain settlement uses ERC-20 tokens only.\n\nPlatforms may accept any inbound payment rail, including:\n\n* ETH\n* ERC-20 tokens\n* Bitcoin\n* Monero\n* Fiat\n* Lightning\n* Any other payment system\n\nBefore interacting with ACT:\n\nplatform converts inbound payments into an ERC-20 token -\u003e\nbuyer approves ACT to transfer that ERC-20 token -\u003e\nACT escrows and settles that ERC-20 token\n\nACT performs no currency conversion and has no knowledge of off-chain payment rails.\n\n---\n\n## Privacy Boundaries\n\nACT never stores:\n\n* service descriptions\n* locations\n* personal identities\n* communications\n* jurisdictions\n* ratings or reputation\n* booking metadata\n\nOnly an opaque `serviceHash` is stored on-chain.\n\nAll identifying information remains off-chain under platform control.\n\nThe service handle token contains no descriptive metadata and has no transfer functionality.\n\n---\n\n## What ACT Does Not Do\n\nACT intentionally does not handle:\n\n* service registry or marketplace logic\n* discovery or ranking\n* identity, KYC, or AML\n* scheduling or messaging\n* disputes or arbitration\n* refunds or chargebacks\n* reputation systems\n* taxation or compliance\n* safety enforcement\n\nAll of the above are platform responsibilities.\n\n---\n\n## Contract Architecture\n\n```\ncontracts/\n├── ActCore.sol    -\u003e service offer, acceptance, and finalization\n├── ActEscrow.sol  -\u003e ERC-20 escrow and protocol fee enforcement\n└── ActToken.sol   -\u003e non-transferable ERC-721 service handle\n```\n\n---\n\n## Non-Speculative Guarantees\n\nACT service handles are not assets.\n\n* no transfers\n* no secondary markets\n* no accumulation\n* no fractionalization\n* guaranteed burn on settlement\n\nThey exist solely as deterministic settlement proofs.\n\n---\n\n## Contact\n\n**[Contact Email](pablo-chacon-ai@proton.me)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablo-chacon%2Fact-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablo-chacon%2Fact-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablo-chacon%2Fact-protocol/lists"}