🟢 Vert = terminologie corrigée le 2026-10-18 : investissement → souscription, investisseur → souscripteur, investment → subscription, investor → subscriber, véhicule → forme juridique / entité de fonctionnement (exploitation). Ricardo : ce sont les mots-clés à changer dans le code. Les noms de fichiers (ex. funding-investment-agreement.html) sont volontairement conservés pour ne pas casser les liens — renommage côté dev possible ensuite. Les surlignages orange datent d'une passe de correction précédente.
WikiDeal FundingMVP Technical Specifications — Request for Proposals

WikiDeal Funding MVP — Technical Specifications

DRAFT v0.3 · 2026-08-25 · Status: working draft, awaits human validation · Reference mockups: WikiDeal Funding hub · Currency: Swiss francs (CHF) only

Purpose. This document translates the WikiDeal funding mockups (aidev.wikideal.net/mockups/funding/) into implementable IT requirements, as the basis for a small call for proposals. The expected result of the development is the behaviour presented in the mockups. Budget envelope for the MVP: CHF 3'000 – 5'000. Respondents are asked to quote a fixed price and a delivery timeline (see §8).
Contents
  1. Context & scope overview
  2. Core concepts & terminology
  3. Functional requirements (MVP)
  4. Phase 2 — explicitly out of MVP scope
  5. Indicative data model
  6. Non-functional requirements
  7. Technology stack
  8. What proposals must contain
  9. Reference mockups (user journey)
  10. Open points to be confirmed

1. Context & scope overview

WikiDeal (a project of the Netizen3) raises subscriptions to fund its Prototype 1. Donors and Early Supporters receive Subscription Tokens, which are progressively compensated in cash by the income of WikiDeal subscriptions. The MVP is the minimal working system that supports this loop:

  1. Subscription payments by credit card (Stripe), PayPal, or bank transfer, in CHF.
  2. Subscription Token activation — automatic at card payment time, manual (operator registry) for bank transfers and Early Supporters.
  3. Subscriptions — CHF 1/month or CHF 10/year (annual recommended).
  4. Subscription income distribution to holders of already-activated Subscription Tokens, visible on each user's dashboard.
  5. Accounts with single sign-on shared with the MediaWiki at wikideal.net.

Outgoing payouts to users' bank accounts are not part of the MVP (Phase 2, see §4).

2. Core concepts & terminology

TermDefinition
Subscription TokenThe single unit of recognition attributed to supporters. There is one type of Subscription Token only (no sub-categories). Subscription Tokens are not guaranteed financial instruments; they are compensated over time by subscription income. Total attributed in Prototype 1: 100'000'000 Subscription Tokens.
Attributed (promised) Subscription TokensSubscription Tokens assigned to a person (by subscription or as Early Supporter) but not yet compensated in cash. Shown in the left column of the dashboard mockup.
Activated Subscription TokensAttributed Subscription Tokens whose holder has completed the activation step (automatic at card payment; manual by the Foundation secretariat otherwise). Only activated Subscription Tokens participate in subscription income distribution.
Cash-out balance (obtained)CHF amount already earned by a holder through distributions. Accumulates on the dashboard; transferable to a bank account only from CHF 100, and only in Phase 2.
Early SupporterPerson who received a Subscription Token attribution manually (registered by the secretariat after a webinar), without a card payment.
SubscriberPerson paying CHF 1/month or CHF 10/year. Subscribers get access to WikiDeal member benefits (list maintained separately); they do not receive Subscription Tokens.
Terminology rule for implementers: use the single word Subscription Token(s) everywhere. Do not introduce “Community Subscription Tokens”, “Personal Subscription Tokens”, “miles”, “cashback”, “subscription”, “tokens” or similar terms in UI, code identifiers, or documentation.

3. Functional requirements (MVP)

F1 — Subscription payment by card (Stripe) MVP

F2 — Automatic Subscription Token activation at card payment MVP

F3 — Bank-transfer subscriptions, manual activation MVP

F4 — Subscriptions MVP

F5 — Online Subscription Token registry & operator interface (admin) MVP

F6 — Distribution of subscription income to Subscription Token holders MVP

F7 — User dashboard MVP

F8 — Accounts & single sign-on with MediaWiki MVP

F9 — Cashout activation MVP

F10 — SSO subscriber-only wiki area TO BE DISCUSSED

Status: open question — TO BE DISCUSSED with Ricardo. The implementation approach for this feature is not yet decided (not yet discussed). The requirement is clear; the technical solution must be simple and visually clear. Respondents are invited to propose approaches.

F11 — Cashout algorithm PENDING

Specification pending. Algorithm for distributing cashout amounts according to multipliers — specification pending (proposal from Ricardo to be integrated). This section will be completed and agreed with the selected respondent before contract signature.

4. Phase 2 — explicitly out of MVP scope PHASE 2

The following will be developed after the MVP, in a second stage. The MVP architecture should not block them, but no Phase-2 work is expected or paid within this envelope:

5. Indicative data model

Indicative only — respondents may propose their own schema, provided the auditability requirements hold.

EntityKey fields
usersid, pseudonym, e-mail (private), MediaWiki identity link, role (user / operator)
reward_grantsholder, amount, origin (card_subscription / bank_subscription / early_supporter), status (attributed / activated), activation timestamp & actor
paymentstype (subscription_card / subscription_bank / subscription), gross amount CHF, Stripe references, status
subscriptionsplan (monthly / yearly), Stripe subscription id, status
distributionssource payment, date, per-holder credits (CHF), Subscription Tokens consumed
audit_logappend-only: operator actions, activations, distributions

An append-only ledger style for Subscription Token and cash movements is strongly recommended (no destructive updates of balances).

6. Non-functional requirements

7. Technology stack

Suggested option (not mandatory): Laravel + VueJS, matching the team's existing base (subscription-dashboard repository serving aidev.wikideal.net) and the current developer's proposal. Respondents may propose another stack, with justification, provided it satisfies §6 (hostable on Foundation infrastructure, free license, maintainable).

8. What proposals must contain

  1. Fixed price in CHF for the full MVP scope (§3), within the CHF 3'000 – 5'000 envelope. If the envelope cannot be met, state which requirements you propose to defer and the resulting price.
  2. Delivery timeline (calendar weeks from kick-off).
  3. Stack & architecture summary (1 page max), including the SSO approach for F8.
  4. Included / excluded items, assumptions, and Stripe account prerequisites.
  5. Maintenance: proposed conditions after delivery (optional).

9. Reference mockups (user journey)

The mockups below define the expected result. Latest versions, maintained at the Funding hub:

10. Settled points & change log

v0.2 (2026-08-18) — all v0.1 open points settled with the project owner and cross-checked against the published wiki rules:

  1. Card / bank-transfer threshold: bank transfer is optional and recommended from CHF 2'000; card remains possible up to the CHF 5'000 ceiling; above CHF 5'000, bank transfer only. (F1, F3)
  2. Subscription income split: 25% donors / 25% Early Supporters / 50% Foundation operations — the published 25/25/50 rule. (F6)
  3. Allocation key: equal share per activated Subscription Token within each group. (F6)
  4. Consumption: nominal unit 1 Subscription Token = CHF 1 when cashed out; 1:1 consumption as cash is credited. (F6)
  5. Subscriber benefits: referenced from the wiki Subscriptions page; marketplace low-commission access will require an active subscription. (F4)

These rules go in this tendency and are proposed as the working basis; final details are settled with the selected respondent before contract signature.

v0.3 (2026-08-25) — updates integrated from session 2026-08-25:

  1. Multiplier — subscriptions only (F2): ×100 applies exclusively to subscriptions; Early Supporters receive a fixed allocation with no multiplier.
  2. Cashout activation — new section (F9): second step to activate cashout (IBAN, postal address, ID copy); bank account details optional at subscription time, marked with asterisk (*); cashout only via international bank transfer; actual transfer = Phase 2.
  3. Subscription form requirements (F1): form must link to the subscription agreement, include a "I have read the subscription contract" checkbox, and the irrevocability acknowledgement sentence.
  4. Operator interface expanded (F5): admin searches by email, manually confirms ("OK"); two explicit activation cases: (a) bank transfer >CHF 2'000, (b) early supporter (subscription paid + webinar attended); merged balance when a person is both donor and early supporter.
  5. SSO subscriber-only wiki area — new section (F10): contract templates behind a paid-subscription gate; TO BE DISCUSSED with Ricardo.
  6. Cashout algorithm — placeholder (F11): specification pending, proposal from Ricardo to be integrated.
  7. Graphic design (§6): two theme variants required — dark background and light background.
  8. Payments (F1): PayPal added as a subscription payment option alongside Stripe.