Ticket backlog
Wayfinder install appeared interactive, so these are written as wayfinder-compatible markdown tickets and mirrored under .wayfinder/tickets/.
Epic 1 — Repo scaffold
FC-001 Create monorepo skeleton
Status: done.
Acceptance:
contracts/,app/,workers/stats/,scripts/,docs/,deployments/exist.- Root
package.jsonuses only the approved scripts:dev,testnet,mainnet,test. - README documents the four commands only.
FC-002 Add environment deployment artifacts
Acceptance:
deployments/local.json,testnet.json,mainnet.jsonschemas exist.- Scripts update contract IDs, deployment block, asset IDs, RPC, owner, guardian.
Epic 2 — Sway contract
FC-010 Implement single FuelCredit contract
Status: in progress — MVP fund/open/repay/delinquent logic compiles; oracle/FUEL-interest/claim path still pending.
Acceptance:
- Supports funding pool, opening loans, repayment, collateral claims, and delinquency marking.
- Uses verified asset IDs/configurables per environment.
- Emits events for every stats-relevant state transition.
- Public ABI has SRC-2-style docs.
FC-011 Contract tests
Status: in progress — pure Sway term/quote tests pass; payable/e2e tests still pending.
Acceptance:
- Term/advance calculations tested for 6/9/12 months.
- Interest and pro-rata collateral math tested.
- Min/max amount checks tested.
- Access control tested.
- Maturity deadline and delinquency transition tested.
Epic 3 — Frontend
FC-020 Build main lending UI
Status: in progress — static React quote UI builds; wallet/transaction wiring pending.
Acceptance:
- Fuel wallet connect works.
- User can select FUEL amount and term.
- UI shows USDC received, maturity due, dates, and pool availability.
- Transaction success includes explorer link.
FC-021 Build loan management UI
Acceptance:
- Connected user sees active, expired, delinquent, repaid loans.
- Full and partial repayment flows exist.
- Claim collateral flow exists.
FC-022 Add testnet faucet helper
Acceptance:
- Testnet detects low gas balance.
- UI links to
https://faucet-testnet.fuel.network/. - Prefills wallet address via URL parameter if faucet supports it.
FC-023 Complete wallet-to-open-loan flow
Blocked by wallet connector compatibility and contract transaction wiring.
FC-024 Unify demo protocol metrics
Use one explicitly labelled preview dataset across home and Stats.
FC-025 Surface fixed-term loan details
Show maturity, quote provenance, liquidity, and late consequences before connection.
FC-026 Improve amount entry and copy
Add precise input, balance/Max, validation, and accurate variable-LTV language.
FC-027 Improve mobile borrowing flow
Harden touch targets, explanations, and quote discovery on small screens.
FC-028 Complete documentation and public links
Publish task-oriented docs and link every public destination to the real project.
FC-029 Charge interest upfront in FUEL
Collect a separate prorated FUEL fee at opening and leave only USDC principal due at maturity.
Epic 4 — Stats/indexer Worker
FC-030 Implement Fuel GraphQL event scanner
Status: in progress — /refresh has cursor, latest-block GraphQL call, and error state; contract event decoding pending.
Acceptance:
- Scans from deployment block.
- Persists cursor/checkpoints.
- Handles 429 with backoff.
- Supports local/testnet/mainnet RPCs.
FC-031 Implement stats Durable Object
Status: in progress — Durable Object returns cached/default stats plus CSV endpoints; hourly recompute and daily persistence pending.
Acceptance:
- Recomputes compact stats blob hourly in production.
- Exposes active stats API endpoint.
- Writes one daily historical snapshot.
- CSV download endpoint works.
Epic 5 — Oracle
FC-040 Build fake signed oracle for local/testnet
Acceptance:
- Worker signs FUEL/USD quote with chain ID and expiry.
- Contract rejects expired/wrong-chain quotes.
- Clearly disabled for mainnet.
FC-041 Integrate Stork for production
Acceptance:
- Contract verifies production price payloads.
- Deployment docs list oracle addresses/config.
- Fake oracle removed from mainnet config.
Epic 6 — Deployment
FC-050 Local deploy flow
Status: in progress — bun run dev now bootstraps a gitignored Fuels SDK wallet, then orchestrates contract tests, local Fuel node, local contract deploy/artifact write, Wrangler stats Worker, and Vite app.
Acceptance:
bun run devstarts local Fuel, deploys contract, starts app and Worker locally.
FC-051 Testnet deploy flow
Status: in progress — guarded bun run testnet uses env key or bootstraps a gitignored Fuels SDK wallet, runs tests/build, deploys via forc testnet, and writes artifacts; Cloudflare publish pending.
Acceptance:
bun run testnetchecks deployer balances, deploys contract, updates artifacts, deploys preview resources.
FC-052 Mainnet deploy flow
Status: in progress — guarded bun run mainnet requires explicit confirmation, uses env key or confirmed gitignored Fuels SDK wallet, runs tests/build, deploys via forc mainnet, and writes artifacts; Cloudflare publish pending.
Acceptance:
bun run mainnetrequires explicit confirmations, checks balances, deploys contract, deploys Workers/Pages, and mapsfuel.credit.
Epic 7 — Bridge phase
FC-060 Add LayerSwap bridge option
Acceptance:
- Deposit flow can route users to LayerSwap for Ethereum-held FUEL.
- EVM FUEL detection is best-effort and does not block Fuel-native users.