{"id":31822901,"url":"https://github.com/devfans/electrum-scripting","last_synced_at":"2025-10-11T14:20:22.519Z","repository":{"id":57425994,"uuid":"199842703","full_name":"devfans/electrum-scripting","owner":"devfans","description":"Scripting utils for electrum wallet","archived":false,"fork":false,"pushed_at":"2019-08-05T03:00:08.000Z","size":22,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-21T18:28:24.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/devfans.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":"2019-07-31T11:27:55.000Z","updated_at":"2022-11-20T00:21:07.000Z","dependencies_parsed_at":"2022-09-11T14:02:08.158Z","dependency_job_id":null,"html_url":"https://github.com/devfans/electrum-scripting","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/devfans/electrum-scripting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devfans%2Felectrum-scripting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devfans%2Felectrum-scripting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devfans%2Felectrum-scripting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devfans%2Felectrum-scripting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devfans","download_url":"https://codeload.github.com/devfans/electrum-scripting/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devfans%2Felectrum-scripting/sbom","scorecard":{"id":337420,"data":{"date":"2025-08-11","repo":{"name":"github.com/devfans/electrum-scripting","commit":"66f9721dc700fc49071283ede93b601db34d4435"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-18T05:03:08.616Z","repository_id":57425994,"created_at":"2025-08-18T05:03:08.617Z","updated_at":"2025-08-18T05:03:08.617Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007496,"owners_count":26084313,"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-10-11T02:00:06.511Z","response_time":55,"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-10-11T14:20:17.815Z","updated_at":"2025-10-11T14:20:22.511Z","avatar_url":"https://github.com/devfans.png","language":"Python","readme":"# electrum-scripting\nScripting interface wrapper for electrum wallet\n\n[![PYPI Version][pypi-image]][pypi-url]\n[![Build Status][travis-image]][travis-url]\n\n\n## Setup\n\nYou would need to setup electrum wallet first and start the daemon if required.\n\nSample setup\n```\n# Download from https://electrum.org/#download\nsudo apt-get install python3-pyqt5\nwget https://download.electrum.org/3.3.8/Electrum-3.3.8.tar.gz\ntar -xvf Electrum-3.3.8.tar.gz\ncd Electrum-3.3.8\npython3 -m pip install .[fast]\n\n# Start deamon\n./run_electrum daemon start\n./run_electrum daemon load_wallet\n```\n\nInstall electrum scripting\n```\npython3 -m pip install electrum-scripting\n```\n\n## Get Started\n\n```\n\n\u003e from electrum_scripting.wallet import WalletScripting as ws\n\n# Call electrum command\n\u003e unspents = ws.call('listunspent')\n[{'address': 'bc1q9tguzkmqul768z9hxkeg8hd6yrrhexymwmykygwk4m6g4t8msheq3z0rxm', 'value': '0.00258', 'prevout_n': 1, 'prevout_hash': '18810325792ff18d52fa65f1724d13750a584bfec8f44a4670f7baecac6d1510', 'height': 587939, 'coinbase': False}]\n\n\u003e tx = ws.call('paytomany', unsigned=True, password=\"password\", outputs=[['address1', 'amount1']])\n{'hex': '45505446ff000200000000010110156dacecbaf770464af4c8fe4b580a75134d72f165fa528df12f79250381180100000000fdffffff02a0860100000000002200202ad1c15b60e7fda388b735b283ddba20c77c989b76c96221d6aef48aacfb85f2164d020000000000220020ab8433b505b64af499a5561951404ad86c7ae93b894febc457acf6420fce75a6feffffffffd0ef0300000000000000050001ff01ff01fffd0201534c53ff02aa7ed301638c8c3b80000001cb70696dad3ba23bc1899b72be25bf489eb954fb61e5f7037bad5ed00366f37f036317daa8d96ef7023909f3551853df43a40999505bd846d377f04f5b523e2def000000004c53ff02aa7ed3015c8338c880000001657348468a9482ae1bc5090b8823e8628e6fbaf0673d98777eec1407b5ed43ee0272c445a9a82c43c69eb091b26f3872bcb46449387392bee44a1b4b7951d7ec85000000004c53ff02aa7ed301bc696fad8000000152b96b078f8ee0f02603dc6852ad00cc1a9083ddc0901499cb36da1732d79b570222b0d8e6260969dfc02f8090c875c865a75da175c02b5dc054f6d2ae9f0d78100000000053ae7ef90800', 'complete': False, 'final': False}\n\n# Set default configurations\n\u003e ws.setup(password='password')\n\n# Other utils\n\u003e ws.qr(tx, 'unsigned_tx.svg')\n\n```\n\nFor full supported command list, please check electrum documentation. Here's listing for your information:\n\n    addrequest          Create a payment request, using the first unused\n                        address of the wallet\n    addtransaction      Add a transaction to the wallet history\n    broadcast           Broadcast a transaction to the network\n    clearrequests       Remove all payment requests\n    commands            List of commands\n    convert_xkey        Convert xtype of a master key\n    create              Create a new wallet\n    createmultisig      Create multisig address\n    createnewaddress    Create a new receiving address, beyond the gap limit\n                        of the wallet\n    decrypt             Decrypt a message encrypted with a public key\n    deserialize         Deserialize a serialized transaction\n    dumpprivkeys        Deprecated\n    encrypt             Encrypt a message with a public key\n    freeze              Freeze address\n    get                 Return item from wallet storage\n    get_tx_status       Returns some information regarding the tx\n    getaddressbalance   Return the balance of any address\n    getaddresshistory   Return the transaction history of any address\n    getaddressunspent   Returns the UTXO list of any address\n    getalias            Retrieve alias\n    getbalance          Return the balance of your wallet\n    getconfig           Return a configuration variable\n    getfeerate          Return current suggested fee rate (in sat/kvByte),\n                        according to config settings or supplied parameters\n    getmasterprivate    Get master private key\n    getmerkle           Get Merkle branch of a transaction included in a block\n    getmpk              Get master public key\n    getprivatekeys      Get private keys of addresses\n    getpubkeys          Return the public keys for a wallet address\n    getrequest          Return a payment request\n    getseed             Get seed phrase\n    getservers          Return the list of available servers\n    gettransaction      Retrieve a transaction\n    getunusedaddress    Returns the first unused address of the wallet, or\n                        None if all addresses are used\n    help\n    history             Wallet history\n    importprivkey       Import a private key\n    is_synchronized     return wallet synchronization status\n    ismine              Check if address is in wallet\n    listaddresses       List wallet addresses\n    listcontacts        Show your list of contacts\n    listrequests        List the payment requests you made\n    listunspent         List unspent outputs\n    make_seed           Create a seed\n    notify              Watch an address\n    password            Change wallet password\n    payto               Create a transaction\n    paytomany           Create a multi-output transaction\n    removelocaltx       Remove a 'local' transaction from the wallet, and its\n                        dependent transactions\n    restore             Restore a wallet from text\n    rmrequest           Remove a payment request\n    searchcontacts      Search through contacts, return matching entries\n    serialize           Create a transaction from json inputs\n    setconfig           Set a configuration variable\n    setlabel            Assign a label to an item\n    signmessage         Sign a message with a key\n    signrequest         Sign payment request with an OpenAlias\n    signtransaction     Sign a transaction\n    sweep               Sweep private keys\n    unfreeze            Unfreeze address\n    validateaddress     Check that an address is valid\n    verifymessage       Verify a signature\n\n\n[pypi-image]: https://img.shields.io/pypi/v/electrum-scripting.svg\n[pypi-url]: https://pypi.org/project/electrum-scripting/\n[travis-image]: https://img.shields.io/travis/devfans/electrum-scripting/master.svg\n[travis-url]: https://travis-ci.org/devfans/electrum-scripting\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevfans%2Felectrum-scripting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevfans%2Felectrum-scripting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevfans%2Felectrum-scripting/lists"}