# crowdloan (/docs/query/crowdloan)

Amounts are TAO; `end` is the block number at which contributions close.

**Category:** Leases & crowdloans

## Parameters [#parameters]

| Parameter      | Type    | Description                     |
| -------------- | ------- | ------------------------------- |
| `crowdloan_id` | integer | Id of the crowdloan to look up. |

## CLI [#cli]

```bash
btcli query crowdloan --crowdloan-id <integer> --json
```

## Python [#python]

Namespace method (autocomplete, signature help):

```python
import bittensor as bt

sub = bt.Subtensor()
result = sub.leasing.crowdloan(crowdloan_id=1)
```

Or dispatch by name, as an agent would:

```python
result = sub.read("crowdloan", crowdloan_id=1)
```

Async is the same surface awaited: `async with bt.Subtensor() as client:`.

## On-chain implementation [#on-chain-implementation]

* Storage [`Crowdloan.Crowdloans`](/code/pallets/crowdloan/src/lib.rs#L152)

Every file is browsable under [/code](/code) exactly as built into the runtime.
