{"id":13746233,"url":"https://github.com/ethereum/beacon-APIs","last_synced_at":"2025-05-09T07:30:29.813Z","repository":{"id":37537710,"uuid":"202613633","full_name":"ethereum/beacon-APIs","owner":"ethereum","description":"Collection of RESTful APIs provided by Ethereum Beacon nodes","archived":false,"fork":false,"pushed_at":"2025-05-02T08:33:55.000Z","size":14401,"stargazers_count":353,"open_issues_count":35,"forks_count":184,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-02T09:29:54.174Z","etag":null,"topics":["api","eth2","openapi3","rest","specification","swagger"],"latest_commit_sha":null,"homepage":"https://ethereum.github.io/beacon-APIs/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethereum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","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,"zenodo":null}},"created_at":"2019-08-15T21:27:12.000Z","updated_at":"2025-05-02T08:32:58.000Z","dependencies_parsed_at":"2024-01-17T06:37:49.121Z","dependency_job_id":"eb2058ed-5135-430b-83b8-97fb5a57de0f","html_url":"https://github.com/ethereum/beacon-APIs","commit_stats":{"total_commits":522,"total_committers":51,"mean_commits":"10.235294117647058","dds":0.6494252873563218,"last_synced_commit":"14ddc0470cd130f17981922d0021884ecfa4a52b"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fbeacon-APIs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fbeacon-APIs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fbeacon-APIs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethereum%2Fbeacon-APIs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethereum","download_url":"https://codeload.github.com/ethereum/beacon-APIs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253209226,"owners_count":21871612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","eth2","openapi3","rest","specification","swagger"],"created_at":"2024-08-03T06:00:50.346Z","updated_at":"2025-05-09T07:30:28.767Z","avatar_url":"https://github.com/ethereum.png","language":"HTML","funding_links":[],"categories":["Smart Contract Platforms"],"sub_categories":[],"readme":"# Ethereum Beacon APIs\n\n![CI](https://github.com/ethereum/beacon-APIs/workflows/CI/badge.svg)\n\nCollection of RESTful APIs provided by Ethereum Beacon nodes\n\nAPI browser: [https://ethereum.github.io/beacon-APIs/](https://ethereum.github.io/beacon-APIs/)\n\n## Outline\n\nThis document outlines an application programming interface (API) which is exposed by a beacon node implementation of the Ethereum [consensus layer specifications](https://github.com/ethereum/consensus-specs).\n\nThe API is a REST interface, accessed via HTTP. The API should not, unless protected by additional security layers, be exposed to the public Internet as the API includes multiple endpoints which could open your node to denial-of-service (DoS) attacks through endpoints triggering heavy processing.\n Currently, the only supported return data type is JSON.\n\nThe beacon node (BN) maintains the state of the beacon chain by communicating with other beacon nodes in the Ethereum network.\nConceptually, it does not maintain keypairs that participate with the beacon chain.\n\nThe validator client (VC) is a conceptually separate entity which utilizes private keys\nto perform validator related tasks, called \"duties\", on the beacon chain.\n These duties include the production of beacon blocks and signing of attestations.\n\nThe goal of this specification is to promote interoperability between various beacon node implementations.\n\n## Render\nTo render spec in browser you will need any http server to load `index.html` file\nin root of the repo.\n\n##### Python\n```\npython -m http.server 8080\n```\nAnd api spec will render on [http://localhost:8080](http://localhost:8080).\n\n##### NodeJs\n```\nnpm install simplehttpserver -g\n\n# OR\n\nyarn global add simplehttpserver\n\nsimplehttpserver\n```\nAnd api spec will render on [http://localhost:8000](http://localhost:8000).\n\n### Usage\n\nLocal changes will be observable if \"dev\" is selected in the \"Select a definition\" drop-down in the web UI.\n\nUsers may need to tick the \"Disable Cache\" box in their browser's developer tools to see changes after modifying the source.\n\n## Contributing\nApi spec is checked for lint errors before merge.\n\nTo run lint locally, install linter with\n```\nnpm install -g @redocly/cli\n\n# OR\n\nyarn global add @redocly/cli\n```\nand run lint with\n```\nredocly lint beacon-node-oapi.yaml\n```\n\n## Releasing\n\nThis repository supports both stable and pre-releases. The version of the next release has to be\ndetermined based on the changes in `master` branch since the last stable release. It is recommended\nto create a pre-release before releasing a new stable version.\n\n### Stable releases\n\nSteps to create a new stable release:\n\n- Create and push a tag with the version of the release, e.g. `v3.0.0`\n- CD will create the github release, upload bundled spec files, and open a release PR\n- Review, approve and merge the release PR to `master` branch\n\n### Pre-releases\n\nSteps to create a new pre-release:\n\n- Create and push a tag with the version of the release, e.g. `v3.0.0-alpha.0`\n- CD will create the github release and upload bundled spec files\n\nPre-releases will not be listed in `index.html` and are intended to allow early testing against the spec.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethereum%2Fbeacon-APIs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethereum%2Fbeacon-APIs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethereum%2Fbeacon-APIs/lists"}