{"id":30719762,"url":"https://github.com/fireblocks/move-fireblocks-sdk","last_synced_at":"2025-09-03T10:41:57.747Z","repository":{"id":310659929,"uuid":"1004854845","full_name":"fireblocks/move-fireblocks-sdk","owner":"fireblocks","description":"Fireblocks SDK to interact with the Movement chain with RAW signing","archived":false,"fork":false,"pushed_at":"2025-08-21T10:32:18.000Z","size":161,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T00:58:59.756Z","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":null,"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":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}},"created_at":"2025-06-19T09:30:35.000Z","updated_at":"2025-07-03T23:31:03.000Z","dependencies_parsed_at":"2025-08-21T22:16:01.647Z","dependency_job_id":null,"html_url":"https://github.com/fireblocks/move-fireblocks-sdk","commit_stats":null,"previous_names":["fireblocks/move-fireblocks-sdk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fireblocks/move-fireblocks-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fmove-fireblocks-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fmove-fireblocks-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fmove-fireblocks-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fmove-fireblocks-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireblocks","download_url":"https://codeload.github.com/fireblocks/move-fireblocks-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireblocks%2Fmove-fireblocks-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273431361,"owners_count":25104491,"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","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":[],"created_at":"2025-09-03T10:41:56.896Z","updated_at":"2025-09-03T10:41:57.738Z","avatar_url":"https://github.com/fireblocks.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movement Fireblocks SDK\n\nA stateless SDK and REST API server for interacting with Fireblocks and the Movement Network, enabling secure operations on Movement using Fireblocks services.\n\nThe SDK Typedocs can be found here:\nhttps://fireblocks.github.io/move-fireblocks-sdk/\n\n---\n\n## ⚡ Project Overview\n\n**Movement Fireblocks SDK** lets you securely execute Movement (Aptos-based) transactions using Fireblocks vaults and raw signing.\nIt's designed to simplify integration with Fireblocks for secure Movement transactions, supporting both direct SDK use and a REST API interface.\n\n### **Prerequisites**\n\n- Fireblocks workspace with raw signing enabled.\n- Fireblocks API key and secret key file.\n- Node.js v18+\n- Docker and Docker Compose (for API server).\n\n---\n\n## 🚀 Features\n\n- **Secure Movement/Aptos Transactions**: All transactions are Fireblocks-signed and submitted to Movement.\n- **Fireblocks raw signing support**\n- **REST API mode**: Easily integrate through HTTP requests.\n- **Vault pooling**: Efficient per-vault instance management.\n\n---\n\n## 📦 Installation\n\n### **Local SDK Usage**\n\n```bash\ngit clone https://github.com/fireblocks/move-fireblocks-sdk\ncd movement-fireblocks-sdk\nnpm install\ncp .env.example .env\n```\n\nEdit `.env` to include your API key, private key path, and Movement config.\n\nTo start the SDK in dev mode:\n\n```bash\nnpm run dev\n```\n\n### **Run as REST API (Docker)**\n\n```bash\ncp .env.example .env  # or create your .env manually\n# Make sure your Fireblocks secret key is in ./secrets/fireblocks_secret.key\ndocker-compose up --build #(Dev Mode)\ndocker-compose -f docker-compose.yml up --build #(Prod Mode)\n```\n\n\u003e API will run on port `3000` by default. Change via `PORT` in `.env`.\n\n---\n\n## ⚙️ Configuration\n\nEnvironment variables (via `.env`) control SDK behavior:\n\n| Variable                   | Required | Default                                                | Description                             |\n| -------------------------- | -------- | ------------------------------------------------------ | --------------------------------------- |\n| FIREBLOCKS_API_KEY         | Yes      | –                                                      | Your Fireblocks API key                 |\n| FIREBLOCKS_SECRET_KEY_PATH | Yes      | –                                                      | Path to your Fireblocks secret key file |\n| FIREBLOCKS_BASE_PATH       | No       | BasePath.US from \"@fireblocks/ts-sdk\"                  | Base URL of the Fireblocks API          |\n| APTOS_FULLNODE_URL         | No       | https://mainnet.movementnetwork.xyz/v1                 | Movement/Aptos fullnode endpoint        |\n| APTOS_INDEXER_URL          | No       | https://indexer.mainnet.movementnetwork.xyz/v1/graphql | Movement indexer (GraphQL) URL          |\n| PORT                       | No       | 3000                                                   | Port to run the REST API server         |\n\n### Sample `.env`:\n\n```dotenv\nFIREBLOCKS_BASE_PATH=https://api.fireblocks.io/v1\nFIREBLOCKS_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\nFIREBLOCKS_SECRET_KEY_PATH=./secrets/fireblocks_secret.key\n\nAPTOS_FULLNODE_URL=https://mainnet.movementnetwork.xyz/v1\nAPTOS_INDEXER_URL=https://indexer.mainnet.movementnetwork.xyz/v1/graphql\n\nPORT=3000\n```\n\n\u003e 🔐 Never commit your `.env` file or secret key to source control.\n\n---\n\n## 🔑 Secret Key Setup (Docker)\n\n1. Place your Fireblocks private key at:\n\n```\n./secrets/fireblocks_secret.key\n```\n\n2. Your `.env` should reference this file **relative to the project root**:\n\n```dotenv\nFIREBLOCKS_SECRET_KEY_PATH=./secrets/fireblocks_secret.key\n```\n\n3. Docker Compose mounts this file automatically:\n\n```yaml\nvolumes:\n  - ./secrets/fireblocks_secret.key:/app/secrets/fireblocks_secret.key:ro\n```\n\n---\n\n### REST API Example (cURL)\n\n```bash\ncurl -X 'GET' \\\n  'http://localhost:3000/api/\u003cVAULT-ID\u003e/address' \\\n  -H 'accept: application/json'\n```\n\n---\n\n## 🔄 Development\n\n### Run locally with hot reload\n\n```bash\nnpm run dev\n```\n\n---\n\n## 🛍️ API Reference\n\n| Method | Route                          | Description                                                |\n| ------ | ------------------------------ | ---------------------------------------------------------- |\n| GET    | `/api/:vaultId/address`        | Fetch the on-chain address associated with the given vault |\n| GET    | `/api/:vaultId/balance`        | Get the native Aptos coin balance                          |\n| GET    | `/api/:vaultId/balances`       | Get all token and coin balances for the vault              |\n| GET    | `/api/:vaultId/coins_data`     | Fetch metadata about all coins held in the vault           |\n| GET    | `/api/:vaultId/publicKey`      | Retrieve the public key for the vault account              |\n| GET    | `/api/:vaultId/transactions`   | List recent submitted transactions from this vault         |\n| GET    | `/api/metrics`                 | Prometheus-compatible service metrics                      |\n| POST   | `/api/:vaultId/transfer/move`  | Sign and submit a generic Move transaction                 |\n| POST   | `/api/:vaultId/transfer/token` | Transfer a token from the vault to another account         |\n\n## 📗 API docs\n\nSwagger UI API Documentation be will be availabe at http://localhost:3000/api-docs after running the project.\n\n---\n\n## 🚪 Security\n\n- Never commit your `.env` or secrets.\n- Use secrets management in production.\n\n---\n\n## 📄 License\n\nMIT License\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireblocks%2Fmove-fireblocks-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireblocks%2Fmove-fireblocks-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireblocks%2Fmove-fireblocks-sdk/lists"}