Club Fundraising

From Soccerverse Wiki
Revision as of 10:20, 18 June 2026 by Andrew.gore (talk | contribs) (Created page with "Influence Fundraising is a mechanism in Soccerverse that allows a '''club''' to issue '''new influence''' and sell it to users in exchange for '''SVC''' (Soccerverse Coin). The SVC raised goes directly into the club's balance, strengthening its finances. In return, contributors receive the newly-created influence, which gives them voting power and a claim on future income payouts. Fundraising is exclusive to '''club influence''' — player influence cannot be diluted....")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Influence Fundraising is a mechanism in Soccerverse that allows a club to issue new influence and sell it to users in exchange for SVC (Soccerverse Coin). The SVC raised goes directly into the club's balance, strengthening its finances. In return, contributors receive the newly-created influence, which gives them voting power and a claim on future income payouts.

Fundraising is exclusive to club influence — player influence cannot be diluted.

Why Fundraising Exists

Fundraising serves two main purposes:

  1. Rescuing clubs in debt. At the end of each season, clubs with a negative balance automatically get a fundraise event started immediately (no vote needed). This creates new influence for SVC, injecting cash into the club so it can recover.
  2. Letting influencers raise SVC. Even healthy clubs can benefit from a fundraise — influencers can propose and vote for a fundraise to raise funds for transfers, wages, or other expenses. It is also a safeguard against "lost keys": if a club becomes unmanaged or locked, the end-of-season fundraise proposal ensures it is not permanently lost.

The Lifecycle of a Fundraise

1. Triggering

Fundraising can be triggered in one of two ways.

A. End-of-Season (Automatic)

At the end of each season, every club automatically gets a fundraise proposal or event:

  • If the club is not in debt, a proposal is created. Influencers vote on whether to accept the fundraise.
  • If the club is in debt, the fundraise bypasses voting entirely — a fundraise event is created immediately and goes straight to the contribution phase.

The amount of new influence to be created is calculated as a percentage (basis points) of the club's current outstanding influence, configured by the seasonend-dilution-bp parameter. The minimum raise is zero.

B. User-Proposed (Influencer Initiative)

Any influencer can propose a fundraise if they meet two requirements:

  • They must own at least a certain relative percentage of all outstanding club influence (configured by the dilution-min-bps parameter, e.g. 5%).
  • Enough time must have passed since the last user-proposed fundraise vote for that club (configured by min-seconds-between-dilution-votes).

The proposing influencer specifies:

  • n: How much new influence to create (between 1 and a maximum, which is a percentage of outstanding influence configured by dilution-max-bps).
  • mr (minimum raise): The minimum amount of SVC that must be raised. If the total contributions fall short of this, the fundraise fails and all SVC is refunded.

2. Proposal Phase (for non-debt clubs)

When a user proposes a fundraise, it goes through a governance proposal lifecycle:

  • Upcoming phase: The proposal is created but voting hasn't started yet. During this time, the proposer (or any other eligible influencer) can amend the proposal by adding more fundraise options (different n and mr combinations). The upcoming phase lasts for dilution-upcoming-seconds.
  • Voting phase: After the upcoming phase, the proposal enters voting for dilution-voting-seconds. Influencers vote with their existing influence (1 influence = 1 vote). Once voting ends, the winning option is executed.
  • The ballot: Every fundraise proposal has a "do nothing" option (option 0 for user proposals, option 1 for end-of-season proposals). If the winning option is "do nothing", no fundraise event is created.

For end-of-season proposals, the default option (option 0) is the fundraise itself, meaning it passes unless influencers actively vote it down.

3. The Fundraise Event (Contribution Phase)

Once a fundraise proposal passes (or is triggered directly for clubs in debt), a fundraise event is created and becomes active. It has:

  • A number of new influence to be created.
  • A minimum raise amount (0 for end-of-season fundraises; set by the proposer for user-proposed ones).
  • An end time, calculated as current_time + dilution-seconds.

During this phase, any user can contribute SVC to the event. They send a move with:

<syntaxhighlight lang="json"> {

 "dc": {
   "a": <amount>,
   "e": <event_id>
 }

} </syntaxhighlight>

Key points about contributing:

  • Contributions are not bids — you don't specify a price per influence. The price is determined after the event ends, based on total SVC raised divided by the amount of influence.
  • Users can top up their contribution at any time while the event is active. Multiple contributions from the same user are combined into one entry.
  • The contributed SVC is reserved (locked) from the user's balance immediately.

4. Settlement (After the End Time)

When the block time reaches or passes the event's end_time, the event is finalised:

  1. Effective price is calculated: total_contributions / number_of_shares, rounded down to whole SVC units.
  2. Success check: The event succeeds if:
    • At least one user contributed, and
    • shares_sold × price ≥ minimum_raise
    If the event fails, all SVC is refunded and no influence is created.
  3. Influence distribution (if successful): Contributors are processed in order of largest contribution first, then earliest contribution as a tie-breaker. Each contributor buys as many whole influence as their contribution allows at the effective price:
    • shares_bought = min(remaining_shares, contribution / price)
    • SVC_spent = shares_bought × price
    • refund = contribution - SVC_spent
    The refund is not taken from the user's balance — only the actually spent SVC is deducted.
  4. Club gets the money: The total SVC raised (all contributions minus all refunds) is transferred to the club's balance as a "cash injection" (visible on the club's balance sheet).
  5. Contributors get influence: New influence is minted and credited to contributors' balances. This is new influence — it increases the total supply above the base supply of 1,000,000.

Key Parameters

Parameter Description
dilutions-enabled Master switch (0 = off, 1 = on)
dilution-min-bps Minimum influence holding (in basis points) required to propose a fundraise
dilution-max-bps Maximum new influence as basis points of outstanding supply
dilution-upcoming-seconds Duration of the "upcoming" (amendable) phase
dilution-voting-seconds Duration of the voting phase
dilution-seconds Duration of the contribution window
min-seconds-between-dilution-votes Cooldown between user-proposed fundraise votes per club
seasonend-dilution-bp New influence to create at season end, as basis points of outstanding

Edge Cases and Important Behaviours

  • No contributors: If nobody contributes to a fundraise event, it fails. No influence is created and no money changes hands.
  • Zero price: If the total contributions are less than the amount of influence, the effective price rounds down to 0. In this case, the single largest (and earliest) contributor gets all the influence for free (but still gets their SVC refunded — effectively free influence).
  • Minimum raise not met: Even if many users contribute, if the total SVC that would actually be spent (after rounding) falls below the minimum raise, the event fails. All SVC is refunded.
  • Individual rounding: Because influence is bought in whole units at a rounded-down price, it is possible that less influence is sold than was available. E.g. with 1 influence available and a price of 3 SVC/influence, three contributors each putting in 1 SVC would each be able to buy 0 influence (1 / 3 = 0), so the raise would fail despite total bids exceeding the minimum.
  • Beyond base supply: Fundraising can push the total outstanding influence above the base supply of 1,000,000. This is intentional — fundraising is how supply grows.
  • Voting power for proposals: The quorum for proposing fundraises is always based on base supply (1,000,000) if fewer influence than that is minted. This prevents a small influencer from proposing a fundraise when very little influence is in circulation.
  • End-of-season proposals start immediately: Unlike user-proposed ones, they have no "upcoming" phase and go straight to voting (start_time = now + 1 second). They also cannot be amended.
  • Balance sheet entries: For the club, the fundraise creates a cash_injection entry. For the user, it creates a fundraise entry under their balance sheet, and a fundraise entry in the influence transaction history.

User-Facing Move Summary

Action Move JSON
Propose fundraise {"p": {"s": {"club": <id>}, "dilute": {"n": <num>, "mr": <min_raise>}}}
Contribute to event {"dc": {"a": <amount>, "e": <event_id>}}
Vote on proposal {"v": {"p": <proposal_id>, "o": <option_id>}}

Summary

Influence fundraising is a governance-based mechanism for clubs to raise capital by issuing new influence. It operates in two modes: automatic end-of-season (to prevent clubs from being stuck in debt) and user-proposed (for active influencer-driven fundraising). The process is: propose → vote → contribute → settle. At settlement, an effective price per influence is determined by dividing total contributions by the number of influence; contributors receive influence in proportion to their contribution (largest first); any unspent SVC is refunded; and the club receives the proceeds.