{"id":51407701,"url":"https://github.com/armsves/arkivox","last_synced_at":"2026-07-04T12:01:51.504Z","repository":{"id":359985650,"uuid":"1248256906","full_name":"armsves/arkivox","owner":"armsves","description":"Confidential cToken ledger on Arkiv Braga with selective disclosure via iExec Nox","archived":false,"fork":false,"pushed_at":"2026-05-24T13:26:19.000Z","size":706,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T14:13:24.947Z","etag":null,"topics":["arbitrum","arkiv","confidential-privacy","ethereum","nextjs","web3"],"latest_commit_sha":null,"homepage":"https://arkivox.vercel.app","language":"TypeScript","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/armsves.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-24T12:00:34.000Z","updated_at":"2026-05-24T13:26:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/armsves/arkivox","commit_stats":null,"previous_names":["armsves/arkivox"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/armsves/arkivox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armsves%2Farkivox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armsves%2Farkivox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armsves%2Farkivox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armsves%2Farkivox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/armsves","download_url":"https://codeload.github.com/armsves/arkivox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armsves%2Farkivox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35120682,"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-07-04T02:00:05.987Z","response_time":113,"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":["arbitrum","arkiv","confidential-privacy","ethereum","nextjs","web3"],"created_at":"2026-07-04T12:01:50.446Z","updated_at":"2026-07-04T12:01:51.474Z","avatar_url":"https://github.com/armsves.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arkivox\n\n[![CI](https://github.com/armsves/arkivox/actions/workflows/ci.yml/badge.svg)](https://github.com/armsves/arkivox/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Arkiv](https://img.shields.io/badge/ledger-Arkiv%20Braga-6B4EFF)](https://docs.arkiv.network/)\n[![Nox](https://img.shields.io/badge/keys-iExec%20Nox-00D1B2)](https://github.com/iExec-Nox/demo-ctoken)\n\n**Live demo:** [arkivox.vercel.app](https://arkivox.vercel.app)\n\nArkivox (*Arkiv* + *Nox*) is a testnet demo for a **confidential token ledger** with **selective disclosure**. Record transfers on [Arkiv Braga](https://docs.arkiv.network/), protect amounts with [iExec Nox](https://github.com/iExec-Nox/demo-ctoken) on Arbitrum Sepolia, and share exactly one transaction with an auditor — not your full history.\n\n## Features\n\n- **Confidential transfers** — AES-encrypted payloads on Arkiv; DEK wrapped in a Nox handle\n- **Public wrap / unwrap** — on-chain cToken ops logged in plaintext (already public on Arbiscan)\n- **Selective disclosure** — grant an auditor wallet access to one transaction’s amount\n- **Revoke** — Arkiv tombstone + app-side block (on-chain `removeViewer` when Nox supports it)\n- **Wallet-first** — MetaMask / WalletConnect via Reown AppKit; Braga + Arbitrum Sepolia in one flow\n\n## How it works\n\n```mermaid\nflowchart LR\n  subgraph client [Browser]\n    UI[Arkivox UI]\n  end\n  subgraph nox [Arbitrum Sepolia]\n    TEE[Nox TEE handles]\n  end\n  subgraph arkiv [Arkiv Braga]\n    TX[token_transaction]\n    DISC[auditor_disclosure]\n  end\n  UI --\u003e|encrypt DEK / amount| TEE\n  UI --\u003e|ciphertext + metadata| TX\n  UI --\u003e|share grant| DISC\n  TEE --\u003e|viewer ACL| DISC\n```\n\n| Transaction type | On-chain (cToken) | On Arkiv |\n|------------------|-------------------|----------|\n| **Transfer** | Confidential (ERC-7984) | Encrypted (v3) + Nox DEK |\n| **Wrap / unwrap** | Public | Plaintext reference + Arbiscan tx hash |\n\n## Who sees what\n\n| Role | Arkiv index (public) | After reveal |\n|------|----------------------|--------------|\n| **Owner** | Entity type, timestamps | Full amount, memo, counterparty |\n| **Auditor** | Grant / parent hashes only | One shared transaction |\n| **Everyone else** | Same minimal metadata | Nothing |\n\n## Stack\n\n| Layer | Network | Role |\n|-------|---------|------|\n| **Arkiv** | Braga (testnet) | Durable `token_transaction`, `auditor_disclosure`, `auditor_revocation` |\n| **Nox** | Arbitrum Sepolia | TEE key handles, `addViewer` for auditors |\n| **UI** | Next.js 16 | Terminal-style wallet app |\n\n`PROJECT_ATTRIBUTE`: `project = arkivox-7k2m` (legacy scope `arkiv-vault-nox-demo-7k2m` still indexed)\n\n## Quick start\n\n### Run locally\n\n```bash\ngit clone https://github.com/armsves/arkivox.git\ncd arkivox\nnpm install\ncp .env.local.example .env.local\n# optional: NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID from https://cloud.reown.com\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000).\n\n### Fund testnet wallets\n\n1. **ETH** — [Sepolia faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia) → [bridge to Arbitrum Sepolia](https://portal.arbitrum.io/bridge?sourceChain=sepolia\u0026destinationChain=arbitrum-sepolia)\n2. **USDC / RLC** (wrap demos) — [Circle faucet](https://faucet.circle.com/) (Arbitrum Sepolia)\n3. **Braga GLM** — [Arkiv faucet](https://braga.hoodi.arkiv.network/faucet/)\n\nUse the in-app **Faucets** link for the full list.\n\n## Environment\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID` | Recommended | Reown / WalletConnect project ID |\n| `NEXT_PUBLIC_ARKIV_PROJECT` | No | Override Arkiv `project` attribute (default `arkivox-7k2m`) |\n| `NEXT_PUBLIC_APP_URL` | No | Canonical URL for OG metadata (set on Vercel) |\n\n## Scripts\n\n```bash\nnpm run dev          # local dev server\nnpm run build        # production build\nnpm run lint         # ESLint\nnpm run test:e2e:smoke   # 1-key Arkiv + Nox smoke test\nnpm run test:e2e         # 2-key share + revoke flow\n```\n\nE2E tests need funded keys — see `.env.test.example`.\n\n## Deploy\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Farmsves%2Farkivox\u0026env=NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID\u0026envDescription=Reown%20project%20ID%20(recommended)\u0026project-name=arkivox)\n\nSet `NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID` in the Vercel project settings for reliable wallet pairing.\n\n## References\n\n- [Arkiv documentation](https://docs.arkiv.network/)\n- [iExec Nox demo-ctoken](https://github.com/iExec-Nox/demo-ctoken)\n- [Arkiv agent skills](https://github.com/Arkiv-Network/skills)\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmsves%2Farkivox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farmsves%2Farkivox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmsves%2Farkivox/lists"}