> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x402layer.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Agentic Fundraisers

> Crowdfunding campaigns with automatic token launches and fee-sharing for supporters

# Agentic Fundraisers

Singularity Fundraisers is a crowdfunding platform built on Solana. Campaigns collect USDC contributions through x402 payment endpoints backed by a platform-managed escrow. When a campaign hits its funding target, a community token is launched automatically via [Bags.fm](https://bags.fm), and the first 100 unique contributor wallets earn a proportional share of the token's trading fee revenue — forever.

## How It Works

<Steps>
  <Step title="Create a Campaign">
    Set your funding target (minimum \$1,000 USDC), upload images, describe your project, and choose a token ticker. Optionally set a deadline and configure how trading fees will be distributed.
  </Step>

  <Step title="Collect Contributions">
    Supporters contribute USDC on Solana through the campaign's x402 payment endpoint. Every contribution is recorded only after the backend verifies a signed x402 receipt token for that campaign. The first 100 unique contributor wallets are eligible for fee-sharing on the launched token.
  </Step>

  <Step title="Token Launches Automatically">
    Once the funding target is reached, a community token is created and launched on Bags.fm automatically. If the deadline passes before the full target is reached, campaigns that raised at least 25% of target are also auto-launched using the collected funds. The token uses your campaign title, ticker, and logo.
  </Step>

  <Step title="Fee-Sharing Begins">
    Trading fees generated by the token are distributed to eligible supporters proportionally based on their contribution size. This revenue flows forever, not just during the campaign.
  </Step>
</Steps>

## Key Features

<CardGroup cols={2}>
  <Card title="On-Chain Verification" icon="shield-check">
    Every contribution is verified from a signed x402 receipt token issued after successful payment settlement. The receipt is bound to the fundraiser endpoint and payer wallet before the contribution is recorded.
  </Card>

  <Card title="Automatic Token Launch" icon="rocket">
    When a campaign reaches its target, the 5-step token launch process executes automatically via the Bags.fm API. No manual intervention required.
  </Card>

  <Card title="Perpetual Fee-Sharing" icon="coins">
    The first 100 unique contributor wallets earn a proportional share of the token's trading fees forever. A wallet can contribute multiple times and still occupies only one fee-share slot.
  </Card>

  <Card title="Agent-Compatible APIs" icon="robot">
    Campaign APIs return structured metadata that AI agents can use to discover, evaluate, and contribute to campaigns programmatically.
  </Card>
</CardGroup>

## Campaign Lifecycle

Every campaign moves through a defined set of statuses:

| Status          | Description                                                                                                                      |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `active`        | Accepting contributions. Publicly visible on the marketplace.                                                                    |
| `funded`        | Target amount reached. Token launch is triggered automatically.                                                                  |
| `launching`     | Token creation is in progress via Bags.fm.                                                                                       |
| `launched`      | Token is live. Fee-sharing is active.                                                                                            |
| `expired`       | Deadline passed. Campaign will either move into launch processing or refund processing automatically based on the 25% threshold. |
| `launch_failed` | An error occurred during the token launch process.                                                                               |
| `refunding`     | USDC refunds are being processed back to contributors.                                                                           |
| `refunded`      | All refunds have been sent successfully.                                                                                         |

### Refund Conditions

When a campaign expires:

* If the total raised amount is **below 25%** of target, automatic USDC refunds are initiated to contributor wallets.
* If the total raised amount is **at least 25%** of target, the token launch flow is triggered automatically and the collected USDC is disbursed to the campaign creator.

## Campaign Categories

Campaigns are organized into categories to help supporters discover projects:

`medical` · `emergency` · `education` · `community` · `creative` · `tech` · `business` · `personal` · `other`

Each category has subcategories. For example, `tech` includes: `open-source`, `defi`, `ai`, `app`, `infra`.

## Platform Details

| Parameter                           | Value        |
| ----------------------------------- | ------------ |
| Minimum campaign target             | \$1,000 USDC |
| Minimum contribution                | \$2.50 USDC  |
| Payment chain                       | Solana       |
| Payment currency                    | USDC (SPL)   |
| Max fee-share eligible contributors | 100          |
| Max images per campaign             | 5            |

## Next Steps

<CardGroup cols={3}>
  <Card title="Token Launch" href="/fundraisers/token-launch" icon="rocket">
    How the automatic token creation and launch process works
  </Card>

  <Card title="Fee Distribution" href="/fundraisers/fee-distribution" icon="chart-pie">
    How trading fees are split between creators and supporters
  </Card>

  <Card title="API Reference" href="/fundraisers/api-reference" icon="code">
    Integrate with campaigns programmatically
  </Card>
</CardGroup>
