{"id":18937348,"url":"https://github.com/usingblockchain/symbol-token-standards","last_synced_at":"2026-01-27T14:34:20.703Z","repository":{"id":175685822,"uuid":"336602211","full_name":"UsingBlockchain/symbol-token-standards","owner":"UsingBlockchain","description":"Open Standard for the issuance of Securities using blockchain technology (Symbol from NEM)","archived":false,"fork":false,"pushed_at":"2021-04-08T00:10:57.000Z","size":876,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-01T15:52:44.682Z","etag":null,"topics":["blockchain","commodities","digitize","open-standard","securities","symbol"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":false,"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/UsingBlockchain.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.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}},"created_at":"2021-02-06T18:01:26.000Z","updated_at":"2021-07-14T11:24:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"80e92946-f04b-48ad-8e6b-20c97f31fd83","html_url":"https://github.com/UsingBlockchain/symbol-token-standards","commit_stats":null,"previous_names":["usingblockchain/symbol-token-standards"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/UsingBlockchain/symbol-token-standards","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UsingBlockchain%2Fsymbol-token-standards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UsingBlockchain%2Fsymbol-token-standards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UsingBlockchain%2Fsymbol-token-standards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UsingBlockchain%2Fsymbol-token-standards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UsingBlockchain","download_url":"https://codeload.github.com/UsingBlockchain/symbol-token-standards/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UsingBlockchain%2Fsymbol-token-standards/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28815133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"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":["blockchain","commodities","digitize","open-standard","securities","symbol"],"created_at":"2024-11-08T12:10:50.965Z","updated_at":"2026-01-27T14:34:20.686Z","avatar_url":"https://github.com/UsingBlockchain.png","language":"HTML","readme":"# symbol-token-standards\n\n[![npm version](https://badge.fury.io/js/symbol-token-standards.svg)](https://badge.fury.io/js/symbol-token-standards)\n[![Build Status](https://travis-ci.com/nemgrouplimited/symbol-token-standards.svg?branch=main)](https://travis-ci.com/nemgrouplimited/symbol-token-standards)\n[![Slack](https://img.shields.io/badge/chat-on%20slack-green.svg)](https://symbol.slack.com/messages/CB0UU89GS//)\n\n*The author of this package cannot be held responsible for any loss of money or any malintentioned usage forms of this package. Please use this package with caution.*\n\nSymbol Token Standards library to create security tokens / financial instruments for the Symbol platform.\n\nThis is a PoC to validate the proposed [NIP13 - Security Token Standard](https://github.com/nemtech/NIP/blob/main/NIPs/nip-0013.md). When stable, the repository will be moved to the [nemtech](https://github.com/nemtech) organization.\n\n## Installation\n\n`npm install symbol-token-standards`\n\n## Example Library Usage\n\n:warning: The following example usage for the `symbol-token-standards` library is subject to change.\n\n```javascript\nimport { AggregateTransaction, PublicAccount, SignedTransaction } from 'symbol-sdk'\nimport { MnemonicPassPhrase } from 'symbol-hd-wallets'\nimport { NIP13, NetworkConfig, TransactionParameters } from 'symbol-token-standards'\nimport { TransactionURI } from 'symbol-uri-scheme'\n\n// :warning: The following settings are network specific and may need changes\nconst transactionParams = new TransactionParameters(\n  Deadline.create(),\n  750000, // maxFee\n)\n\n// :warning: You should create separate backups of\n// authorities and security token pass phrases.\nconst authKeys = MnemonicPassPhrase.createRandom() // backup the resulting 24-words safely!\nconst tokenKeys = MnemonicPassPhrase.createRandom() // backup the resulting 24-words safely!\n\n// :warning: It is recommended to create operator\n// keys offline and using a separate device.\nconst operators = [\n  new PublicAccount('PUBLIC_KEY_OPERATOR_1', 'ADDRESS_OPERATOR_1'),\n  new PublicAccount('PUBLIC_KEY_OPERATOR_2', 'ADDRESS_OPERATOR_2'),\n  // ...\n]\n\n// initialize NIP13 library\nconst network = new NetworkConfig(...)\nconst tokenAuthority = new NIP13.TokenAuthority(network, authKeys)\nconst securityToken = new NIP13.Token(network, tokenKeys)\n\n// offline creation of the `CreateToken` security token contract\nconst metadata = new SecuritiesMetadata(\n  'MIC',\n  'ISIN',\n  'ISO_10962',\n  'Website',\n  'Sector',\n  'Industry',\n  {\n    'customKey1': 'metadata',\n    // ...\n  },\n)\nconst tokenId = securityToken.create(\n  'My Awesome Security Token', // security token name\n  securityToken.getTarget().publicAccount, // actor\n  tokenAuthority.getAuthority().publicAccount, // token authority\n  operators,\n  123456789, // total outstanding shares\n  metadata,\n  transactionParams,\n)\n\n// get the transaction URI for `CreateToken` execution\nconst resultURI: TransactionURI = securityToken.result\n\n// :warning: It is recommended to sign the resulting transactions\n// using a hardware wallet rather than any type of software generated\n// wallets.\nconst transaction: AggregateTransaction = resultURI.toTransaction()\nconst signedTransaction: SignedTransaction = securityToken.getTarget().sign(transaction, 'networkGenerationHash')\n\n// `signedTransaction` can now be broadcast to the Symbol network of choice.\n\n// It is important to denote that given the **aggregate** nature of security\n// token contracts, multiple parties MAY be involved in the transaction and\n// it is therefor required to issue a HashLockTransaction before announcing\n// the aggregate bonded transaction that represents the contract.\n```\n\n## License\n\nCopyright 2020-present NEM\n\nLicensed under the [Apache v2.0 License](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusingblockchain%2Fsymbol-token-standards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusingblockchain%2Fsymbol-token-standards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusingblockchain%2Fsymbol-token-standards/lists"}