{"id":51231129,"url":"https://github.com/egpivo/stablecoin-audit","last_synced_at":"2026-06-28T16:30:37.906Z","repository":{"id":359036507,"uuid":"1236248786","full_name":"egpivo/stablecoin-audit","owner":"egpivo","description":"Rust CLI for reproducible, per-asset EVM window audits: ERC-20 mint/burn vs totalSupply at pinned blocks, with cross-chain summaries. First benchmark: USDC on Ethereum, Base, and Arbitrum.","archived":false,"fork":false,"pushed_at":"2026-05-30T08:53:02.000Z","size":2827,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T10:21:34.861Z","etag":null,"topics":["audit","cross-chain","defi","erc20","ethereum","evm","rust","stablecoins","usdc"],"latest_commit_sha":null,"homepage":"https://medium.com/coinmonks/usdc-shows-why-stablecoin-risk-analysis-is-not-one-signal-bb9c333ed169","language":"Rust","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/egpivo.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-12T04:42:16.000Z","updated_at":"2026-05-30T08:53:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/egpivo/stablecoin-audit","commit_stats":null,"previous_names":["egpivo/stablecoin-audit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/egpivo/stablecoin-audit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egpivo%2Fstablecoin-audit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egpivo%2Fstablecoin-audit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egpivo%2Fstablecoin-audit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egpivo%2Fstablecoin-audit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/egpivo","download_url":"https://codeload.github.com/egpivo/stablecoin-audit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/egpivo%2Fstablecoin-audit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34896652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"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":["audit","cross-chain","defi","erc20","ethereum","evm","rust","stablecoins","usdc"],"created_at":"2026-06-28T16:30:37.157Z","updated_at":"2026-06-28T16:30:37.896Z","avatar_url":"https://github.com/egpivo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stablecoin-audit\n\n[![CI](https://github.com/egpivo/stablecoin-audit/actions/workflows/ci.yml/badge.svg)](https://github.com/egpivo/stablecoin-audit/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/github/egpivo/stablecoin-audit/graph/badge.svg?token=mN0h7zLOtR)](https://codecov.io/github/egpivo/stablecoin-audit)\n\n**0.1.0** — ERC-20 mint/burn vs `totalSupply` at pinned blocks, per chain (`--asset`, `configs/tokens/`). USDC on Ethereum / Base / Arbitrum is the first benchmark.\n\n**Not claimed:** reserves, peg, liquidity, oracles, bridge backing, holder census, intent. [Scope →](docs/README.md#scope-and-interpretation)\n\n## Architecture\n\nEvidence is filesystem-first: CLI writes artifacts + `artifact_manifest.json`; API and UI read them only (no audit logic in the browser).\n\n![v0 stack](docs/product/screenshots/architecture_pipeline.svg)\n\n```text\nRust CLI → out/\u003casset\u003e/runs/\u003crun_id\u003e/ → artifact_manifest.json → API (read-only) → /ui/\n```\n\nFull layers, modules, roadmap: [`docs/product/backend_architecture_v0.md`](docs/product/backend_architecture_v0.md). Manifest schema: [`docs/product/artifact_manifest_schema_v0.md`](docs/product/artifact_manifest_schema_v0.md).\n\n## Quick start\n\n```bash\ncargo build   # RPC URLs in .env — see .env.example\n\ncargo run -- transfer-audit --asset USDC --run-id smoke \\\n  --window ethereum:24000000:24001000\n\ncargo run -- cross-chain-summary --asset USDC --run-id smoke\n```\n\nAdd `--window base:…` / `arbitrum:…` for more chains. Outputs: `out/\u003casset\u003e/runs/\u003crun_id\u003e/`; gates in `qa_report.json`. CLI details: [`docs/README.md#cli`](docs/README.md#cli).\n\n## Evidence console\n\n```bash\ncargo run --features api -- serve --artifact-root out/\n# http://127.0.0.1:8080/ui/\n```\n\nPublic snapshot: [egpivo.github.io/stablecoin-audit/ui/](https://egpivo.github.io/stablecoin-audit/ui/) (`github_pages_demo`). [`docs/GITHUB_PAGES.md`](docs/GITHUB_PAGES.md)\n\n## Related writing\n\nThis repo grew out of a short stablecoin evidence series. The posts are not required to run the toolkit, but they explain the motivation behind the artifact-first design.\n\n| Post | Focus | How it connects to this repo |\n|------|-------|------------------------------|\n| [USDC Shows Why Stablecoin Risk Analysis Is Not One Signal](https://medium.com/coinmonks/usdc-shows-why-stablecoin-risk-analysis-is-not-one-signal-bb9c333ed169) | Per-chain USDC transfer and supply signals | Motivation for treating each asset × chain deployment as a separate audit unit |\n| [Local Pegs, Dollar Rails: Auditing XSGD and EURC Liquidity](https://medium.com/towards-finance/local-pegs-dollar-rails-auditing-xsgd-and-eurc-liquidity-9ed540b84cfe) | Local-currency stablecoins and observed USDC-paired liquidity | Motivation for keeping liquidity observations separate from reserve, peg, and routing claims |\n| [The Stablecoin Map: What Crypto’s Cash Rails Depend On](https://medium.com/thecapital/the-stablecoin-map-what-cryptos-cash-rails-depend-on-e50e429d0fbe) | Stablecoin footprint, transfer activity, DEX counterparts, and claim boundaries | Motivation for turning article evidence into reproducible artifacts, manifests, and an Evidence Console |\n\n## Docs\n\n[`docs/README.md`](docs/README.md) — benchmarks, experimental CLI, research joins, blog evidence map.\n\nMIT — [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegpivo%2Fstablecoin-audit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegpivo%2Fstablecoin-audit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegpivo%2Fstablecoin-audit/lists"}