{"id":16561799,"url":"https://github.com/jamesob/vaults-covenants-paper","last_synced_at":"2026-04-22T05:34:31.297Z","repository":{"id":66816091,"uuid":"577448948","full_name":"jamesob/vaults-covenants-paper","owner":"jamesob","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-21T14:44:13.000Z","size":2147,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-05T04:41:54.915Z","etag":null,"topics":["bitcoin","covenants","latex","vaults"],"latest_commit_sha":null,"homepage":"https://jameso.be/vaults.pdf","language":"TeX","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/jamesob.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}},"created_at":"2022-12-12T19:05:03.000Z","updated_at":"2023-01-09T18:01:11.000Z","dependencies_parsed_at":"2023-02-23T14:00:41.498Z","dependency_job_id":null,"html_url":"https://github.com/jamesob/vaults-covenants-paper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jamesob/vaults-covenants-paper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesob%2Fvaults-covenants-paper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesob%2Fvaults-covenants-paper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesob%2Fvaults-covenants-paper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesob%2Fvaults-covenants-paper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesob","download_url":"https://codeload.github.com/jamesob/vaults-covenants-paper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesob%2Fvaults-covenants-paper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32122773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"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":["bitcoin","covenants","latex","vaults"],"created_at":"2024-10-11T20:34:21.977Z","updated_at":"2026-04-22T05:34:31.280Z","avatar_url":"https://github.com/jamesob.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"Vaults are a technique for substantially reducing the risk of Bitcoin management. In\nthis paper, we examine their relationship to different covenant implementations. We\nsurvey the vault implementations that are currently usable, as well as that would be\npossible only with proposed consensus updates (e.g. OP_CTV). \n\nA new approach, `OP_VAULT`, is presented which avoids the pitfalls of a general\ncovenant proposal while still allowing the covenant-like behavior necessary for a\nfeatureful vault implementation. The design assumes the deployment of package relay\nand ephemeral anchors for dynamic fee management, but allows for different fee\nmanagement approaches should they come. It allows batching vault operations, partial\nunvaultings, dynamic withdrawal targets, and recursive deposits.\n\n### Compiling\n\nRequires `xelatex`; probably, you want to install `texlive-most` on your distribution.\n\nUse this handy shell function:\n\n```sh\nwatch-tex () {\n  JOBNAME=${1%.tex}\n  xelatex -halt-on-error -shell-escape $1\n  evince $JOBNAME.pdf \u0026\n  PDF_PS=$!\n  RUNTEX=\"xelatex -halt-on-error -shell-escape $1\"\n  BIB=\"$JOBNAME.bib\"\n  if [ -f \"${BIB}\" ]\n  then\n    ls $1 | entr -s \"rm -f ${BIB} ; $RUNTEX ; biber $JOBNAME ; $RUNTEX ; $RUNTEX\"\n  else\n    ls $1 | entr -s \"$RUNTEX\"\n  fi\n  kill ${PDF_PS}\n}\n\n$ watch-tex 2022-vaults-paper.tex\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesob%2Fvaults-covenants-paper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesob%2Fvaults-covenants-paper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesob%2Fvaults-covenants-paper/lists"}