Agentic Trading Lab
에이전트와 대화하고, 거래 아이디어를 테스트하며, 코드 없이 실제 시장 데이터에 AI 트레이딩 에이전트를 적용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기StreamPay — real-time payment streams on Stellar. Live: https://streampay-frontend-alpha.vercel.app
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗StreamPay is a dashboard for paying collaborators, vendors and grant recipients in a continuous flow instead of lump sums: create a stream, watch funds accrue, pause or stop at any time, and let the recipient withdraw what has vested.
Explore streams, a stream detail, activity and the in-app docs. The demo needs no wallet and no backend: the API serves seeded sample data, so every screen is populated.
/api/v1, /api/v2) with OpenAPI spec, JWT wallet auth, rate limiting, CSRF, request fingerprinting, audit log, webhooks and Prometheus metricscontracts/Requires Node.js 20+.
git clone https://github.com/Streampay-Org/StreamPay-Frontend.git
cd StreamPay-Frontend
npm ci
cp .env.example .env.local # then edit, see "Environment variables"
npm run dev # http://localhost:3000
Minimal .env.local for local development:
STELLAR_NETWORK=testnet
JWT_SECRET=dev-secret-key-at-least-32-characters-long
ALLOWED_ORIGINS=http://localhost:3000
The app refuses to boot without the first three. Everything else is optional and has a safe default; the complete
inventory with comments is in .env.example.
| Variable | Required | Description |
|---|---|---|
STELLAR_NETWORK | yes | testnet or mainnet. No implicit default, to avoid accidental mainnet use. |
JWT_SECRET | yes | Session signing secret, at least 32 characters. |
ALLOWED_ORIGINS | yes | Comma-separated CORS allow-list (no * in production). |
DATABASE_URL | no | Postgres connection string. Without it the API uses seeded in-memory data. |
HORIZON_URL / SOROBAN_RPC_URL | no | Stellar endpoints (testnet defaults). |
WEBHOOK_SECRET, METRICS_AUTH_TOKEN, FEE_BUMP_SECRET_KEY, ... | no | Feature specific, see .env.example. |
| Command | What it does |
|---|---|
npm run dev | Start the dev server |
npm run build / npm start | Production build / serve it |
npm test | Unit and component tests (Jest) |
npm run smoke | OpenAPI validation and API smoke tests |
npm run lint | ESLint |
npm run openapi:generate | Regenerate TypeScript types from openapi.json |
app/ Next.js App Router: pages, components and API route handlers (app/api)
app/lib/ Server-side helpers: auth, config validation, errors, audit log, repositories
lib/, src/ Shared clients, middleware (rate limit, timeout, ETag) and metrics
contracts/ Soroban escrow contract (Rust)
docs/ Long-form documentation and runbooks
scripts/ Operational scripts (reconciliation, backfills, OpenAPI tooling)
middleware.ts Edge middleware: CORS, CSRF, body-size caps, request ids, fingerprinting
Request flow: browser, then middleware.ts, then a route handler in app/api/**, which validates input, calls a
repository behind a pluggable store interface (in-memory by default, Postgres when configured) and returns the shared
error envelope. Stellar and Soroban calls go through a client with caching and circuit breaking. See
docs/architecture.md for details.
/docsvercel.json.STELLAR_NETWORK=testnet, JWT_SECRET (32+ random characters) and ALLOWED_ORIGINS (your deployment URL).CLI: vercel link && vercel env add JWT_SECRET production && vercel --prod.
A container image is also available via the included Dockerfile (Next.js standalone output).
The Soroban escrow contract in contracts/ charges fees on withdrawal. The fee
rate is fixed per stream at creation (stream.fee_bps) and is paid to the configured
fee collector. Both withdrawal entrypoints use the same economics:
| Entrypoint | Fee rate charged | Fee recipient | Authorization |
|---|---|---|---|
withdraw | stream.fee_bps | fee collector | recipient or allowlisted withdrawer |
withdraw_with_max_fee_bps / withdraw_guarded | stream.fee_bps | fee collector | recipient or allowlisted withdrawer |
The guarded variant additionally rejects the call with FeeTooHigh when stream.fee_bps > max_fee_bps,
before any state change. The global fee_bps / default_fee_bps admin knobs only see the
default applied to newly created streams; they are never charged at withdrawal time.
See CONTRIBUTING.md. Before opening a PR run npm test, npm run smoke and npm run build.
Some legacy test suites are quarantined in jest.config.js (testPathIgnorePatterns); fixing one and removing it from
that list is a welcome first contribution.
See the repository license file.