{"id":51015318,"url":"https://github.com/cypher-asi/aura-router","last_synced_at":"2026-06-21T09:30:41.360Z","repository":{"id":345826656,"uuid":"1187539995","full_name":"cypher-asi/aura-router","owner":"cypher-asi","description":"Model proxy and billing router for the AURA network","archived":false,"fork":false,"pushed_at":"2026-06-09T22:23:20.000Z","size":372,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T00:11:31.730Z","etag":null,"topics":["aura"],"latest_commit_sha":null,"homepage":"https://aura.ai","language":"Rust","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/cypher-asi.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-20T21:03:11.000Z","updated_at":"2026-06-09T22:23:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cypher-asi/aura-router","commit_stats":null,"previous_names":["cypher-asi/aura-router"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cypher-asi/aura-router","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypher-asi%2Faura-router","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypher-asi%2Faura-router/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypher-asi%2Faura-router/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypher-asi%2Faura-router/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cypher-asi","download_url":"https://codeload.github.com/cypher-asi/aura-router/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypher-asi%2Faura-router/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34605335,"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-21T02:00:05.568Z","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":["aura"],"created_at":"2026-06-21T09:30:40.723Z","updated_at":"2026-06-21T09:30:41.352Z","avatar_url":"https://github.com/cypher-asi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eaura-router\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eLLM proxy and billing router for the AURA platform.\u003c/b\u003e\n\u003c/p\u003e\n\n## Overview\n\naura-router is the LLM proxy layer for AURA. All LLM requests from clients (desktop, web, mobile) route through this service. It authenticates users, checks credit balance, forwards requests to the LLM provider with the platform API key, and records usage for billing and stats.\n\nThe platform API key never reaches the client — it lives only on the server.\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- Rust toolchain\n- z-billing service running (for credit checks)\n- Anthropic API key (and optionally OpenAI)\n\n### Setup\n\n```\ncp .env.example .env\n# Edit .env with your API keys and service URLs\n\ncargo run\n```\n\nThe server starts on `http://0.0.0.0:3000` by default.\n\n### Health Check\n\n```\ncurl http://localhost:3000/health\n```\n\n### Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `PORT` | No | Server port (default: 3000, Render uses 10000) |\n| `AUTH0_DOMAIN` | Yes | Auth0 domain for JWKS |\n| `AUTH0_AUDIENCE` | Yes | Auth0 audience identifier |\n| `AUTH_COOKIE_SECRET` | Yes | Shared secret for HS256 token validation (same as aura-network) |\n| `INTERNAL_SERVICE_TOKEN` | Yes | Token for service-to-service auth |\n| `ANTHROPIC_API_KEY` | Yes | Platform Anthropic API key |\n| `OPENAI_API_KEY` | No | Platform OpenAI API key (required for GPT models) |\n| `Z_BILLING_URL` | Yes | z-billing service URL |\n| `Z_BILLING_API_KEY` | Yes | z-billing service API key |\n| `AURA_NETWORK_URL` | No | aura-network URL for usage recording |\n| `AURA_NETWORK_TOKEN` | No | aura-network internal service token |\n| `AURA_STORAGE_URL` | No | aura-storage URL for message storage |\n| `AURA_STORAGE_TOKEN` | No | aura-storage internal service token |\n| `CORS_ORIGINS` | No | Comma-separated allowed origins. Omit for permissive (dev mode) |\n| `RATE_LIMIT_RPM` | No | Max requests per minute per user (default: 60) |\n\n---\n\n## Authentication\n\nAll proxy endpoints require a JWT in the `Authorization: Bearer \u003ctoken\u003e` header. Tokens are obtained by logging in via zOS API (`POST https://zosapi.zero.tech/api/v2/accounts/login`).\n\nBoth RS256 (Auth0 JWKS) and HS256 (shared secret) tokens are accepted — same token format as aura-network and aura-storage.\n\n---\n\n## API Reference\n\nSee [docs/api.md](docs/api.md) for the full API reference.\n\n---\n\n## Architecture\n\n```\nClient (aura-code / mobile / web)\n    |\n    | JWT + Anthropic-format request\n    v\naura-router\n    |\n    |-- 1. Validate JWT\n    |-- 2. Check credits (z-billing)\n    |-- 3. [Enrichment hook - future]\n    |-- 4. Forward to provider (Anthropic / OpenAI)\n    |-- 5. Stream response back to client\n    |-- 6. Debit credits (z-billing)\n    |-- 7. Record usage (aura-network)\n    |-- 8. Store messages (aura-storage)\n    |\n    v\nLLM Provider (api.anthropic.com / api.openai.com)\n```\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypher-asi%2Faura-router","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcypher-asi%2Faura-router","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypher-asi%2Faura-router/lists"}