{"id":41173634,"url":"https://github.com/chainpoint/chainpoint-gateway","last_synced_at":"2026-01-22T19:50:16.114Z","repository":{"id":42047761,"uuid":"96149302","full_name":"chainpoint/chainpoint-gateway","owner":"chainpoint","description":"Chainpoint Gateway","archived":false,"fork":false,"pushed_at":"2022-05-11T17:39:15.000Z","size":6604,"stargazers_count":26,"open_issues_count":9,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2023-08-07T11:21:46.257Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://chainpoint.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chainpoint.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}},"created_at":"2017-07-03T20:48:12.000Z","updated_at":"2023-04-06T05:30:31.000Z","dependencies_parsed_at":"2022-08-12T03:20:43.365Z","dependency_job_id":null,"html_url":"https://github.com/chainpoint/chainpoint-gateway","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/chainpoint/chainpoint-gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fchainpoint-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fchainpoint-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fchainpoint-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fchainpoint-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chainpoint","download_url":"https://codeload.github.com/chainpoint/chainpoint-gateway/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainpoint%2Fchainpoint-gateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28669720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-22T19:50:15.399Z","updated_at":"2026-01-22T19:50:16.109Z","avatar_url":"https://github.com/chainpoint.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chainpoint Gateway\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nSee [Chainpoint Start](https://github.com/chainpoint/chainpoint-start) for an overview of the Chainpoint Network.\n\nA Chainpoint Gateway is a dedicated server for generating many Chainpoint proofs with a single request to the Chainpoint Network.\n\nEach Gateway has an integrated Lightning Node running [LND](https://github.com/lightningnetwork/lnd). Gateways use [Lightning Service Authentication Tokens](https://www.npmjs.com/package/lsat-js) (LSATs) to pay Cores an `anchor fee` when submitting a Merkle root. The default anchor fee is 2 [satoshis](\u003chttps://en.bitcoin.it/wiki/Satoshi_(unit)\u003e). Core operators can set their `anchor fee` to adapt to changing market conditions, and compete to receive transactions from Gateways\n\nGateway setup takes 45 - 90 mins, due to activities that require the automated setup tools to interact with the Bitcoin Blockchain.\n\n- Lightning Node sync (10 - 15 minutes)\n- Funding the Lightning wallet and waiting for 3 confirmations (avg 30 mins)\n\n## Installation\n\n### Requirements\n\nThe following software is required:\n\n- `*Nix-based OS (Ubuntu Linux and MacOS have been tested)`\n- `BASH`\n- `Git`\n- `Docker`\n\nA BASH script to install all other dependencies (make, openssl, nodejs, yarn) on Ubuntu and Mac can be run from `make install-deps`.\n\nChainpoint Gateway has been tested with different hardware configurations.\n\nMinimum:\n\n- `4GB RAM`\n- `1 CPU Cores`\n- `128+ GB SSD`\n- `Public IPv4 address`\n\nMid-Range:\n\n- `8GB RAM`\n- `2 CPU Cores`\n- `256+ GB SSD`\n- `Public IPv4 address`\n\n### Deployment\n\nRun the following commands to initiate your Gateway:\n\n#### Install Dependencies\n\n```bash\n$ sudo apt-get install make git\n$ git clone https://github.com/chainpoint/chainpoint-gateway.git\n$ cd chainpoint-gateway\n$ make install-deps\n\nLogout and login to allow your user to use Docker\n\n$ exit\n```\n\n#### Configure Gateway\n\n```\n$ ssh user@\u003cyour_ip\u003e\n$ cd chainpoint-gateway\n$ make init\n\n\n ██████╗██╗  ██╗ █████╗ ██╗███╗   ██╗██████╗  ██████╗ ██╗███╗   ██╗████████╗     ██████╗  █████╗ ████████╗███████╗██╗    ██╗ █████╗ ██╗   ██╗\n██╔════╝██║  ██║██╔══██╗██║████╗  ██║██╔══██╗██╔═══██╗██║████╗  ██║╚══██╔══╝    ██╔════╝ ██╔══██╗╚══██╔══╝██╔════╝██║    ██║██╔══██╗╚██╗ ██╔╝\n██║     ███████║███████║██║██╔██╗ ██║██████╔╝██║   ██║██║██╔██╗ ██║   ██║       ██║  ███╗███████║   ██║   █████╗  ██║ █╗ ██║███████║ ╚████╔╝\n██║     ██╔══██║██╔══██║██║██║╚██╗██║██╔═══╝ ██║   ██║██║██║╚██╗██║   ██║       ██║   ██║██╔══██║   ██║   ██╔══╝  ██║███╗██║██╔══██║  ╚██╔╝\n╚██████╗██║  ██║██║  ██║██║██║ ╚████║██║     ╚██████╔╝██║██║ ╚████║   ██║       ╚██████╔╝██║  ██║   ██║   ███████╗╚███╔███╔╝██║  ██║   ██║\n ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚═╝      ╚═════╝ ╚═╝╚═╝  ╚═══╝   ╚═╝        ╚═════╝ ╚═╝  ╚═╝   ╚═╝   ╚══════╝ ╚══╝╚══╝ ╚═╝  ╚═╝   ╚═╝\n\n\n? Will this Gateway use Bitcoin mainnet or testnet? testnet\n? Enter your Gateways's Public IP Address: 104.154.83.163\n```\n\n#### Initialize Lightning\n\n```\nInitializing Lightning wallet...\nCreate new address for wallet...\nCreating Docker secrets...\n****************************************************\nLightning initialization has completed successfully.\n****************************************************\nLightning Wallet Password: kPlIshurrduurSQoXa\nLND Wallet Seed: absorb behind drop safe like herp derp celery galaxy wait orient sign suit castle awake gadget pass pipe sudden ethics hill choose six orphan\nLightning Wallet Address:tb1qglvlrlg0velrserjuuy7s4uhrsrhuzwgl8hvgm\n******************************************************\nYou should back up this information in a secure place.\n******************************************************\n\nTODO: REMOVE Please fund the Lightning Wallet Address above with Bitcoin and wait for 6 confirmations before running 'make deploy'\n\nHow many Cores would you like to connect to? (max 4) 2\nWould you like to specify any Core IPs manually? No\n\nYou have chosen to connect to 2 Core(s).\nYou will now need to fund you wallet with a minimum amount of BTC to cover costs of the initial channel creation and future Core submissions.\n\n? How many Satoshi to commit to each channel/Core? (min 120000) 500000\n? 500000 per channel will require 1000000 Satoshi total funding. Is this OK? (Y/n) y\n\n**************************************************************************************************************\nPlease send 1000000 Satoshi (0.01 BTC) to your wallet with address tb1qglvlrlg0velrserjuuy7s4uhrsrhuzwgl8hvgm\n**************************************************************************************************************\n\nThis initialization process will now wait until your Lightning node is fully synced and your wallet is funded with at least 400000 Satoshi. The init process should resume automatically.\n\n2020-02-24T17:12:12.244Z\u003e Syncing in progress... currently at block height 1576000\n2020-02-24T17:12:42.259Z\u003e Syncing in progress... currently at block height 1596000\n2020-02-24T17:13:12.269Z\u003e Syncing in progress... currently at block height 1608000\n2020-02-24T17:13:42.279Z\u003e Syncing in progress... currently at block height 1626000\n2020-02-24T17:14:12.286Z\u003e Syncing in progress... currently at block height 1650000\n2020-02-24T17:14:42.297Z\u003e Syncing in progress... currently at block height 1662000\n\n*****************************************\nYour Lightning node is fully synced.\n*****************************************\n\n***********************************************\nYour Lightning wallet is adequately funded.\n***********************************************\n\n*********************************************************************************\nChainpoint Gateway and integrated Lightning node have been successfully initialized.\n*********************************************************************************\n\n$ make deploy\n```\n\nAfter running `make deploy`, the Gateway will automatically peer and open Lightning channels with Cores. This may take up to 6 confirmations (~60 minutes). This will allow the Gateway to authenticate with Cores and pay for Anchor Fees. This process may take several minutes upon first run.\n\n## Troubleshooting\n\nIf your issue isn't addressed here, please [submit an issue](https://github.com/chainpoint/chainpoint-core/issues) to the Chainpoint Core repo.\n\n### Init Problems\n\nIf `make init` fails and the Lightning wallet hasn't yet been generated and funded, run `make init-restart`, then run `make init` again. If the Lightning wallet has already been generated and funded, you can usually just run `make init` again to continue the initialization process.\n\n### Docker Secrets\n\nGateway uses docker secrets to store sensitive credentials. If you receive a `secret not found` error for either `HOT_WALLET_PASS` or `HOT_WALLET_ADDRESS` while deploying, this can be remedied by using your saved lnd credentials to recreate the secrets:\n`printf \u003chot wallet password without quotes\u003e | docker secret create HOT_WALLET_PASS -` or `printf \u003chot wallet address without quotes\u003e | docker secret create HOT_WALLET_ADDRESS -`.\n\n## Gateway Public API\n\nEvery Gateway provides a public HTTP API. This is documented in greater detail on the [Gateway HTTP API wiki](https://github.com/chainpoint/chainpoint-gateway/wiki/Gateway-HTTP-API)\n\nAdditionally, lightning node information for your Gateway can be found at `http://\u003cgateway_ip\u003e/config`.\n\n## License\n\n[Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0)\n\n```text\nCopyright (C) 2017-2020 Tierion\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainpoint%2Fchainpoint-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainpoint%2Fchainpoint-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainpoint%2Fchainpoint-gateway/lists"}