Transactions

refund-crowdloan

Refund contributors of a non-finalized crowdloan (creator only).

View as Markdown

Returns contributions (excluding the creator's) to their contributors. Only the creator may call it. Each call refunds at most 50 contributors, so large loans may need several refund_crowdloan calls before everyone is paid back. Once all contributors are refunded, the creator runs dissolve_crowdloan, which returns the creator's remaining contribution (including the deposit) and removes the loan.

SignerPalletWraps
coldkeyCrowdloanCrowdloan.refund

Parameters

ParameterTypeRequiredDescription
crowdloan_idintegeryesIdentifier of the crowdloan, assigned when it was created.

Address parameters (--hotkey, --coldkey, --dest, ...) accept a raw ss58 address, an address-book or proxy-book name, or a local wallet/hotkey name.

CLI

Preview with --dry-run (shows fee, effects, and policy result without submitting), then submit:

btcli tx refund-crowdloan \
  --crowdloan-id <int> --dry-run
btcli tx refund-crowdloan \
  --crowdloan-id <int> -w my_coldkey

Python

import bittensor as sub
from bittensor.wallet import Wallet

wallet = Wallet(name="my_coldkey", hotkey="my_hotkey")
intent = sub.RefundCrowdloan(crowdloan_id=0)

async with sub.Client("finney") as client:
    plan = await client.plan(intent, wallet)   # fee, effects, policy — no submission
    result = await client.execute(intent, wallet)
    if not result.success:
        print(result.error.code, result.error.remediation)

Or build it by op name, as an agent would:

await client.execute_tool("refund_crowdloan", {...}, wallet)