{"id":22646364,"url":"https://github.com/fireblocks/ncw-demo-dockerized","last_synced_at":"2026-02-26T12:01:53.389Z","repository":{"id":193011267,"uuid":"687921406","full_name":"fireblocks/ncw-demo-dockerized","owner":"fireblocks","description":"NCW Web FE + BE dockerized demo","archived":false,"fork":false,"pushed_at":"2025-02-04T09:36:17.000Z","size":100,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-19T07:14:29.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fireblocks.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,"zenodo":null}},"created_at":"2023-09-06T09:28:31.000Z","updated_at":"2025-02-04T09:36:21.000Z","dependencies_parsed_at":"2025-04-12T00:34:39.859Z","dependency_job_id":"12c5bdf6-30b5-4727-8005-a64715c08069","html_url":"https://github.com/fireblocks/ncw-demo-dockerized","commit_stats":null,"previous_names":["fireblocks/ncw-demo-dockerized"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fireblocks/ncw-demo-dockerized","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fncw-demo-dockerized","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fncw-demo-dockerized/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fncw-demo-dockerized/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fncw-demo-dockerized/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireblocks","download_url":"https://codeload.github.com/fireblocks/ncw-demo-dockerized/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fncw-demo-dockerized/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29858461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"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":"2024-12-09T06:10:09.184Z","updated_at":"2026-02-26T12:01:53.375Z","avatar_url":"https://github.com/fireblocks.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./image/logo.svg\" width=\"400px\" heigth=\"200px\"\u003e\n  \u003ch1\u003eNCW Full Stack Demo Application\u003c/h1\u003e\n  \u003cbr/\u003e\n  \u003ch3\u003e Resources: \u003c/h3\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://ncw-developers.fireblocks.com/docs\"\u003eFireblocks NCW Developer documentation\u003c/a\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://developers.fireblocks.com/\"\u003eFireblocks Developer Portal\u003c/a\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://www.fireblocks.com/developer-sandbox-sign-up/\"\u003eFireblocks Sandbox Sign Up\u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\" style=\"border-top: 1px solid #4e5259;\"\u003e\n  \u003ch2\u003e 📖 Intro\u003c/h2\u003e\n\u003c/div\u003e\n\nThis repository contains a full Web demo of the Fireblocks Non Custodial Wallet application.\\\nThe application has the following components in it:\n- [Fireblocks React NCW Demo application](https://github.com/fireblocks/ncw-web-demo.git#main) - React demo application that utilizes the [Fireblocks NCW Web SDK](https://github.com/fireblocks/ncw-js-sdk).\n- [Fireblocks Backend Demo application]() - Node.js (Express) backend server that is being used by the Front End for proxying the communication to the Fireblocks API\n- [Localtunnel](https://theboroer.github.io/localtunnel-www/) - Exposing your local development environment to the external world and specifically to Fireblocks Webhook service\n- MySQL Database\n\nPlease make sure to checkout our [NCW Developer docs](https://ncw-developers.fireblocks.com/docs) for getting a better understanding how the NCW feature works and some additional relevant concepts that would be needed for the Setup phase.\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\" style=\"border-top: 1px solid #4e5259;\"\u003e\n  \u003ch2\u003e 🛠️ Configuration \u0026 Setup\u003c/h2\u003e\n\u003c/div\u003e\n\n1. Please make sure that you have gone through all the necessary steps for [workspace provisioning and setup](https://ncw-developers.fireblocks.com/docs/implementation-steps).\n2. Clone the repo to your machine:\n```git clone https://github.com/fireblocks/ncw-demo-dockerized.git```\n3. Move into the cloned directory:\n```cd ncw-demo-dockerized```\n\n\u003cbr/\u003e \n\n\u003e **Note**\n\u003e The example values are just mock values and do not represent real credentials\n\n\u003cbr/\u003e\n\n\nThere are a few configuration files that should be configured before running the application.\n- `/config/ncw_backend_demo/env.txt` - configuration file for the backend application. An example file would like this:\n\n```js\nNODE_ENV=production\n\nPORT=3000\nCMC_PRO_API_KEY=\"\"\n\n# Auth (Firebase demo example)\nJWKS_URI=https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com\nISSUER=https://securetoken.google.com/fireblocks-sdk-demo\nAUDIENCE=fireblocks-sdk-demo\n\n# Fireblocks API \nFIREBLOCKS_API_SECRET=\"-----BEGIN PRIVATE KEY-----\\nMIIEvwIBADANBgkqhkiG9w0BAQEFAA\\...\\nqt1ADkJPmFybZIhEY+ubRIOf5w==\\n-----END PRIVATE KEY-----\"\nFIREBLOCKS_API_KEY_NCW_SIGNER=\"5f5d261f-973c-4f18-bc3e-b9b35dd214d6\"\nFIREBLOCKS_API_KEY_NCW_ADMIN=\"e1607032-ad47-46b1-b358-69ab1785e738\"\nFIREBLOCKS_API_BASE_URL=\"https://sandbox-api.fireblocks.io/\"\n\n# Fireblocks sandbox webhook public key\nFIREBLOCKS_WEBHOOK_PUBLIC_KEY=\"-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw+fZuC+0vDYTf8fYnCN6\\n71iHg98lPHBmafmqZqb+TUexn9sH6qNIBZ5SgYFxFK6dYXIuJ5uoORzihREvZVZP\\n8DphdeKOMUrMr6b+Cchb2qS8qz8WS7xtyLU9GnBn6M5mWfjkjQr1jbilH15Zvcpz\\nECC8aPUAy2EbHpnr10if2IHkIAWLYD+0khpCjpWtsfuX+LxqzlqQVW9xc6z7tshK\\neCSEa6Oh8+ia7Zlu0b+2xmy2Arb6xGl+s+Rnof4lsq9tZS6f03huc+XVTmd6H2We\\nWxFMfGyDCX2akEg2aAvx7231/6S0vBFGiX0C+3GbXlieHDplLGoODHUt5hxbPJnK\\nIwIDAQAB\\n-----END PUBLIC KEY-----\"\n\n# Database\nDB_HOST=mysql\nDB_PORT=3306\nDB_USERNAME=ncw_user\nDB_PASSWORD=ncw_user_password\nDB_NAME=ncw_demo\n```\n\u003cbr/\u003e\n\n- `/config/ncw_web_demo/env.txt` - configuration file for the Frontend application. An example file would look like this:\n```js\nVITE_AUTOMATE_INITIALIZATION=true\n\nVITE_BACKEND_BASE_URL=\u003cbackend_server_base_url\u003e\nVITE_NCW_SDK_ENV=sandbox\n``` \n\u003cbr/\u003e\n\n+ `/config/tunnel/env.txt` - configuration file for the Localtunnel application. An example file would look like this:\n```js\nTUNNEL_SUBDOMAIN=my_ncw_subdomain\nTARGET_PORT=3000\nTARGET_HOST=ncw_backend_demo\n```\n\n\u003cbr/\u003e\n\n+ `/config/mysql/env.txt` - configuration file for the MySQL application. An example file would look like this:\n```js\nMYSQL_ROOT_PASSWORD=test\n```\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\" style=\"border-top: 1px solid #4e5259;\"\u003e\n  \u003ch2\u003e 🔥 Running the application\u003c/h2\u003e\n\u003c/div\u003e\n\nRun the following command:\n```docker-compose up --build ```\n\nThe application should start the build process and output the webhook URL that should be configured in your Fireblocks console.\\\nThe webhook endpoint is exposed in the following route:\n\n`https://your_sub_domain.local.lt/api/webhook`\n\nPlease make sure to configure it properly in the Fireblocks console.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./image/webhook.png\" width=\"550px\" heigth=\"400px\"\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\nThe Frontend application would run on: `http://localhost:5173` by default.\\\nThe Backend application would run on: `http://localhost:3000` by default.\n\n\u003cdiv align=\"center\" style=\"border-top: 1px solid #4e5259;\"\u003e\n  \u003ch2\u003e ⚖️ License\u003c/h2\u003e\n\u003c/div\u003e\n\nFireblocks Web Full Stack demo application is available under [MIT license](https://github.com/fireblocks/ncw-demo-dockerized/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireblocks%2Fncw-demo-dockerized","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireblocks%2Fncw-demo-dockerized","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireblocks%2Fncw-demo-dockerized/lists"}