Bring creative projects to life with incentives for BTCFi
This repository provides Sui Move packages (smart contracts).
Credible is a decentralized crowdfunding and token distribution platform built on Sui blockchain. It empowers project founders to raise funds transparently while protecting investors through smart contract-enforced mechanisms. It's designed to launch and accelerate the next generation of innovative projects from DeFi and beyond.
Following the Beelievers mission:
to build the ultimate Bitcoin app and yield ecosystem. No trade-offs on trust or sovereignty - the Web3 native way!
additional incentives are provided for BTCFi and dWallet projects.
ICOs are not only a new form of financing but also an example for the potential democratisation of finance, allowing retail to participate in the entrepreneurial fiance that was previously limited to “sophisticated” investors.
Token launchpads have strayed from their original promise—empowering founders and protecting investors. Today, investors face high risks: rug pulls, unclear tokenomics, and locked capital. Founders struggle to access fair, sustainable funding.
Observation: Today, we don't have a vibrant Web3 Bitcoin ecosystem. BTC is used statically (holders) or for trading in various centralized exchanges or funds. Thesis: BTCFi to thrive needs a strong ecosystem of builders, users and investors.
Observation: Communities are formed around "user" markets. Thesis: Bitcoin Community will be formed on powerful L1 chains that will bring use to BTC.
BTCFi ecosystem face a critical bottleneck:
- Lack of a good funding infrastructure: Existing launchpads (on Ethereum, Solana) are not optimized for Bitcoin's unique architecture, creating friction and fragmentation.
- Trust Issues in Crowdfunding: web3 platforms don't target BTCFi. Wha's more worrying, many of them target meme coins.
- Speculative & Risky Participation: Early-stage participation is often rife with rug pulls, unfair launches, and a lack of transparency.
- All-or-Nothing Funding: Project must reach their minimum investment goal to receive any funds. This protects backers and motivates creators.
- Curated Vetting & Incentives: Projects can apply for BTCFi incentives. Upon review by the Beelievers committee, additional incentives can be applied for investors, maintaining quality standards.
- Token Distribution: platform provides a stable token distribution mechanism through an investment mechanism.
- Strong Community: Beelievers Kickstarter aims to be the most recognized brand in crowdfunding with a built-in community of active backers.
- Investors
- Projects founders (team): create a funding campaign.
- Beelievers Committee: Curates projects and manages incentives.
| Phase | Duration | Investors can… | Founders can… |
|---|---|---|---|
| 1. Pod Creation | Create pod + lock tokens | ||
| 2. Subscription | start → end date -- or time when max goal is reached |
- Subscribe - Cancel |
|
| 3. Grace Period | Fixed (global) | Exit with grace fee | |
| 4.1 Vesting Cliff | cliff_duration | - Exit - If cliff_token_immediate_unlock: claim immediate_unlock of tokens |
Claim immediate_unlock funds |
| 4.2 Vesting | token_vesting | - Exit - Claim vested tokens |
Claim vested funds |
graph TD
%% Nodes
P1[<b>PHASE 1: CREATION</b><br/>Setup & Supply Tokens]
P2[<b>PHASE 2: SUBSCRIPTION</b><br/>Investors Deposit Funds]
Check{Min Goal<br/>Reached?}
Fail[<b>CANCELED</b><br/>100% Refund]
subgraph Active [Active Project Lifecycle]
P3[<b>PHASE 3: GRACE</b><br/>Cool-off Period]
P4[<b>PHASE 4: VESTING</b><br/>Cliff • Distribution]
end
%% Exit Logic (Parallel)
ExitNode[<b>EXIT MECHANISM</b><br/>Fee • Forfeits Unvested]
%% Flow
P1 --> P2
P2 -- "Time End or Max Cap" --> Check
Check -- NO --> Fail
Check -- YES --> P3
P3 --> P4
%% Exit connections
P3 -.-> ExitNode
P4 -.-> ExitNode
%% Styles
style P1 fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
style P2 fill:#fffde7,stroke:#fbc02d,stroke-width:2px
style P3 fill:#e0f2f1,stroke:#00695c,stroke-width:2px
style P4 fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
style ExitNode fill:#ffebee,stroke:#c62828,stroke-width:2px,stroke-dasharray: 5 5
Subscription and a setup:
graph TD
A[Founders create Pod<br>supply tokens and pays a fee] --> C[Subscription phase begins]
A --> B[Collect protocol fees]
C --> D1[Investors subscribing<br>investing money]
D1 --> D2{Subscription status}
D2 -->|time end<br>min goal not reached| E[Pod ends - refunds issued]
D2 -->|Max goal reached| H1[Subscription ends early]
D2 -->|time end<br>min goal reached| H2[Subscription period ends]
D2 -->|time not ended| D1
D1 --> |investor cancel subscription| F[return investment - cancel_subscription fee]
F --> B
H1 --> J[Grace period begins]
H2 --> J
Grace and Cliff:
graph TD
A[Grace Period] --> |Investor exits| B[small grace fee is charged]
A --> |Wait| C[Grace Period end]
B --> B2[investor gets the refund]
C --> D[Founders can claim immediate_unlock]
C --> E{Is cliff > 0}
E --> |Yes| F{investor immediate_unlock during cliff?}
E --> |No| IU
F -->|Yes| IU[Invstors claim immediate_unlock]
F -->|No| WV[Wait for the end of the Cliff Period end]
WV --> V[Vesting begins]
V --> IU
Vesting:
graph TD
V[Linear vesting period<br>for both investors and founders]
V --> N[Investors can claim vested tokens]
N --> O{Investor wants to exit?}
O -->|Yes| P[Calculate exit fee]
P --> Q[Process exit]
O -->|No| N
Alice invested 100 USDC in a token X Pod with 10% immediate unlock, 100 days vesting period and 30 days cliff with cliff_token_immediate_unlock = true. That gives her 1000 X tokens allocation.
- After grace period, the cliff period starts. Since cliff_token_immediate_unlock is true, Alice can claim 100 X tokens immediately.
- After cliff ends, vesting begins.
- 50 days (50% of the total vesting period) after the start of the vesting Alice decides to exit.
- She will get 50% of 9000 token allocation (total allocation - immediate claim) = 4500 X tokens.
- 50% of her USDC is already vested for the founders, so there is 50 USDC left. Exit fee = 10% (equal to
immediate_unlock_pm) is charged from that remaining 50 USDC and sent to the Pod founders. So she will get back 45 USDC. Remaining X token allocation (4500 X tokens) are sent to the
At the end: she got 45 USDC back and received 5500 X tokens.
- Pod: a structure, created by founders representing a funding campaign.
- Token Allocation: Distribution plan for project tokens
| Parameter | Default | Description |
|---|---|---|
max_immediate_unlock |
10% | Maximum % of funds team receives immediately after successful raise. It's also used to calculate the exit fee. |
min_vesting_duration |
3 months | Minimum vesting duration for a Pod |
max_vesting_duration |
24 months | Maximum vesting duration for a Pod |
min_subscription_duration |
7 days | Minimum subscription period duration |
max_subscription_duration |
30 days | Maximum subscription period duration |
grace_fee |
0.8% | Reduced exit fee during grace period |
grace_duration |
3 days | Grace period with reduced exit fees |
cancel_subscription_keep |
0.1% | Amount kept when investor cancels subscription |
setup_fee |
5 SUI | Setup fee charged to pod creators |
treasury |
- | Address where setup fees are sent |
min_cliff_duration |
0 | Minimum cliff duration for a Pod |
max_cliff_duration |
2 years | Maximum cliff duration for a Pod |
Founders create a Pod and:
- specify:
- Subscription phase: start and end date (duration must be ≥
min_subscription_duration). - Token vesting duration (e.g., 12 months).
immediate_unlock: Percentage of funds the team wants to unlock immediately (must be ≤max_immediate_unlock).- Cliff duration (e.g., 6 months, must be ≥
min_cliff_durationand ≤max_cliff_duration). cliff_token_immediate_unlock: Whether investors can claim immediate unlock during cliff (must be false if cliff_duration = 0).- Accepted currency (e.g., USDC).
- Token price (e.g., 0.1 USDC/token).
min_investment_goalandmax_investment_goal(e.g., min=100k USDC, max=200k USDC).price_multiplier- allows scaling the price:token_allocation = investment_amount × price_multiplier / token_price.
- Subscription phase: start and end date (duration must be ≥
- supply tokens to the
Pod. The amount must equalmax_investment_goal / token_price. - supply
setup_feeSUI. - attach a pitch deck and business plan.
- link a forum/discourse thread for community discussion.
Once a pod is created, anyone can subscribe for investment during the subscription phase:
- Investors put the accepted currency in the
Podto subscribe for tokens. - If the minimum investment goal is not reached before the subscription end date:
- the Pod is canceled,
- investors receive 100% of their investment back,
- Project tokens are returned from the smart contract.
- If the maximum investment goal is reached before the subscription end date:
- The subscription phase ends early.
During the subscription phase investors can cancel their subscription by calling cancel_subscription. investment × cancel_subscription_keep will be kept as an investment. This will be fully refundable if the Pod didn't reach the min_investment_goal. Otherwise, this will be kept as a reduced investment.
NOTE: investor can cancel the subscription only once. If an investor cancels his subscription, and then invest more, then he can't cancel it again.
Starts immediately after the subscription period ends and the minimum investment goal is reached. The grace period lasts for grace_duration (global setting).
During the grace period:
- Tokens are not yet vesting; investors cannot claim tokens.
- Founders cannot claim funds.
- Investors can exit their investment with the reduced
grace_feeand will be available to the Founders.
After grace period:
- Founders can immediately claim
immediate_unlockof their funds. - Founders can withdraw the unallocated tokens.
- Investors can exit their investment paying the exit fee explained in the Exith Mechanism section.
If cliff_duration > 0, the Cliff Period starts and lasts for cliff_duration. During that period:
- Tokens are not yet vesting;
- If
cliff_token_immediate_unlockis true, investors can claimimmediate_unlockof their tokens.
If there is no cliff, it starts right after the grace period, otherwise starts after the cliff and lasts for token_duration.
A linear real-time vesting period begins:
- Founders can claim their vested funds.
- Investors can claim their vested tokens.
Progress Update: Founders should provide regular progress updates through the linked forum/discourse thread (this is not tracked on-chain). Failure to provide updates may trigger investor exiting form their investment.
At any time during the grace period or vesting, an investor can exit their investment if they believe the team is not meeting expectations or need liquidity. Investor is charged a fee when exiting, to protect the founders from a massive exit:
- If the exit occurs during the grace period:
grace_feeis charged. - After that: the
exit_feeis charged based on the unvested amount.
Exit Calculation Details:
Let: I = Amount invested by the investor, A = token allocation for the investor, Vd = vesting duration, Ts = vesting start time, T = exit time. During the grace period vested_portion = 0.
if (now <= grace_end) {
investment_claim_back = I × (1 - grace_fee)
tokens_received = A × grace_fee
} else {
vested_portion = (T-Ts)/Vd
investment_claim_back = I × (1 - immediate_unlock) × (1 - vested_portion) × (1 - exit_fee)
tokens_received = A × (1 - immediate_unlock) × (1 - vested_portion)
}
Remaining unvested tokens and collected is returned to the founders.
- By setting a minimum investment goal, founders define the minimum budget needed to launch the project and build a community. Minimum goals reduce investor risk.
- Realistic Goal Setting: Founders must justify budgets and build investor confidence.
- If investors lack confidence, they can exit during the subscription period, protecting initial investors and ensuring teams have planned properly.
- Market Validation: Failed subscriptions signal lack of market fit
- Growth Potential: Successful pods can create follow-on funding rounds
- Balance & checks mechanism based on
immediate_unlock: Founders can set higher immediate unlock, that will impose higher fee on the investors when exiting. This will cause higher scrutiny and due diligence when subscribing to the project. Setting a smallerimmediate_unlockwill make it less risky for investors (smaller fee for exit).max_immediate_unlockprotects investors greedy founders setting too high immediate unlock.
Risk Mitigation
- Investor Protection: All-or-nothing model prevents underfunded projects
- Team Incentive Alignment: Vesting ensures long-term commitment
- Liquidity Options: Graduated exit fees balance flexibility and commitment
- Transparent Process: Clear milestones and community discussion
New versions are planned with additional features.