> For the complete documentation index, see [llms.txt](https://docs.selcier.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.selcier.xyz/walkthroughs/launch-a-raise.md).

# Launch a raise

Set up, publish and settle a primary offering, with USDG escrowed on-chain until close and shares minted to investors at that point.

In a primary offering, a share class issues additional shares to eligible investors. The `OfferingVault` holds their money in escrow for as long as the offering runs. Reaching the minimum raise means one transaction both sends the funds to the company treasury and mints the shares. Missing it means each investor can reclaim their money. [Raising primary capital](/markets-and-capital/primary-raises.md) covers the mechanics in depth.

Before starting, you need signer approval and a live share class, which [Bring a company on-chain](/walkthroughs/onboard-a-company.md) sets up.

{% stepper %}
{% step %}

### Write up the terms

Go to **Offerings** in the Console, choose **New offering** and enter the terms:

| Term                  | Effect                                                                                  |
| --------------------- | --------------------------------------------------------------------------------------- |
| Share class           | Which class you are issuing                                                             |
| Price per share       | Stays the same for the whole offering                                                   |
| Minimum raise         | Falling short fails the offering and refunds everyone                                   |
| Maximum raise         | Once subscriptions pass this amount, the excess is refunded and allocations go pro-rata |
| Minimum ticket        | The smallest subscription the offering takes                                            |
| Opens at, closes at   | Start and end of subscriptions                                                          |
| Stablecoin            | Defaults to USDG                                                                        |
| Eligible claim topics | Claims an investor must hold, such as `IDENTITY_VERIFIED` and `INVESTOR_ELIGIBLE`       |

Issuance can't exceed the authorized shares of the class, and the Console displays the headroom remaining.
{% endstep %}

{% step %}

### Supply the disclosure files

Upload everything investors should review. Each file is anchored in the `DisclosureRegistry` as an `OFFERING_DOCUMENT`, and Portfolio displays its hash beside it. Swapping a file before the offering opens anchors the replacement under a fresh hash, which takes the place of the earlier one. Once the offering is open, no document can change.
{% endstep %}

{% step %}

### Get approval and go live

**Approvals** comes next. After signers approve the draft, `OfferingVault` emits `OfferingCreated`, and eligible investors can see the offering in Portfolio. Reach them with a direct link, or invite particular investors from **Holders**.

`POST /v1/offerings` creates the same offering through the API, and it behaves exactly as one made in the Console.
{% endstep %}

{% step %}

### Follow subscriptions

**Offerings** reports the amount raised, the investor count and the progress to the minimum for as long as subscriptions are open. Since each subscription is a `Subscribed` event, the Explorer shows the same figures publicly. With [webhooks](/build-on-selcier/event-delivery.md) configured, `offering.subscribed` arrives for every one.

The vault verifies claims on-chain, so investors with unfinished verification are unable to subscribe. To find them, check **Holders**, which lists people who began onboarding without completing it.
{% endstep %}

{% step %}

### Settle the offering

Two routes settle the offering after its close time: the **Close offering** action, or a call to `POST /v1/offerings/{id}/close`. Either one is a single on-chain transaction with two possible results:

| Result          | What happens                                                                                                                                                                                                                                                 |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Minimum met     | The treasury receives the funds less the platform fee. Each investor is minted shares, scaled pro-rata in an oversubscribed offering, and withdraws any excess subscription with `refund`. `OfferingClosed` records the amount raised and the shares issued. |
| Minimum not met | `OfferingFailed` is emitted. Investors withdraw their full deposits by calling `refund`, and Portfolio prompts them to do so.                                                                                                                                |

Holding periods for the resulting lots run from the close date, as the rules on the class specify.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
A successful close turns the offering price into a Reference Valuation with source `PRICED_ROUND`. [How a valuation gets on-chain](/fundamentals/valuation-publishing.md) has more on how that works.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.selcier.xyz/walkthroughs/launch-a-raise.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
