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

# Bid into an offering for a member

> Place a bid on behalf of one of your members

Places a bid as the member. The funds are held on **the member's own wallet**, and any
allotment is theirs — which is why there is no `customer` object here: the member already is
the end user, and attributing the bid further would claim a relationship GetEquity does not
hold.

The member must belong to your organisation. Another organisation's member, or an id that is
not a member at all, answers `NOT_YOUR_MEMBER_ERROR`.

**id** `string` *required*

The id of the member bidding.

**tokenId** `string` *required*

The id of the offering to bid into.

**amount** `number` *required*

The cash being committed. Held on the wallet until allotment.

**bid\_price** `number`

The highest price you will pay. Price-based offerings only. Mutually exclusive with `bid_rate`.

**bid\_rate** `number`

The lowest rate you will accept. Rate-based offerings — debt and fixed interest — only.

**is\_strike\_bid** `boolean`

Bid at whatever the book settles at, naming no limit. Only where the offering allows it.

**tranche** `string`

**Required on a combined offering, refused on every other type.** The tranche's `key`, from
the order book. See below.

**meta** `object`

Anything you want echoed back on the commitment.

```json theme={null}
{
  "amount": 5000000,
  "bid_rate": 19,
  "tranche": "retail"
}
```

## Offerings that have tranches

Some offerings are split into separate books called **tranches** — a commercial paper issued as
retail and institutional slices, or as 90/180/270-day series. Each is priced and allotted against
its own size, so they can clear at different levels.

Read the offering's `tranches` from the
[order book](https://getequity.io/docs/api-reference/endpoint/Trade/offering-book.md). If the array is present you **must**
send `tranche`; if it is absent you must **not**.

```json theme={null}
"tranches": [
  { "key": "retail",        "name": "Retail",        "size": 40000000, "min_commitment": 100000 },
  { "key": "institutional", "name": "Institutional", "size": 60000000, "min_commitment": 50000000 }
]
```

Send the `key`, not the name. A tranche may set its own ticket size and its own audience
(`investors`: `ANY`, `user` or `organisation`), and a bid outside either is refused. A bid cannot
move between tranches afterwards — withdraw it and place a fresh one.

## Price or rate?

Debt and fixed-interest offerings discover a **rate**; everything else discovers a **price**. Send
`bid_rate` on the former and `bid_price` on the latter — never both. Check the offering's
`investment_type` before deciding which.

## What a bid is checked against

The bounds come from the tranche where the offering has them, and from the offering otherwise.

| Refusal | Meaning |
| - | - |
| `OFFERING_NOT_OPEN_ERROR` | The book is not open for bids. |
| `BID_BELOW_GUIDANCE_ERROR` / `BID_ABOVE_GUIDANCE_ERROR` | Outside an enforced range. |
| `BID_OFF_TICK_ERROR` | Not on the guidance step. |
| `BID_BEYOND_RESERVE_ERROR` | Past the worst level the issuer will accept. |
| `BID_LIMIT_REQUIRED_ERROR` | No limit named, and strike bids are not allowed here. |
| `STRIKE_BIDS_NOT_ALLOWED_ERROR` | This offering requires a limit on every bid. |
| `WALLET_INSUFFICIENT_BALANCE_ERROR` | Not enough to cover the bid and its fee. |
| `TRANCHE_REQUIRED_ERROR` | Combined offering, no tranche named. |
| `OFFERING_HAS_NO_TRANCHES_ERROR` | Tranche named on a single-book offering. |
| `TRANCHE_NOT_OPEN_ERROR` | The tranche is restricted to the other kind of holder. |
| `BELOW_TRANCHE_MINIMUM_ERROR` / `ABOVE_TRANCHE_MAXIMUM_ERROR` | Outside the tranche's ticket size. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.