Skip to content

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.json uses 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.json schemas 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.

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 dev starts 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 testnet checks 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 mainnet requires explicit confirmations, checks balances, deploys contract, deploys Workers/Pages, and maps fuel.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.

Open-source infrastructure on Fuel.