Developers

Faucet

Request testnet BTSG tokens from the Crescendo-1 faucet with form and API reference.

The Crescendo-1 faucet distributes free testnet BTSG tokens so you can test transactions, staking, and governance. You can request tokens using the form below or directly via the API.

Request Tokens

Testnet Faucet

Get free BTSG tokens for testing

API Usage

If you prefer to interact with the faucet programmatically, use the REST API at https://faucet.testnet.bitsong.io.

Submit a faucet request

Send a POST request with your BitSong address:

curl -X POST https://faucet.testnet.bitsong.io/request \
  -H "Content-Type: application/json" \
  -d '{"address": "bitsong1yourtestnetaddresshere"}'

The response includes a request ID:

{ "id": "abc-123" }

Poll for status

Use the request ID to check the status:

curl https://faucet.testnet.bitsong.io/status/abc-123

The response indicates the current state:

{ "status": "complete", "txHash": "ABCDEF..." }

:::

async function requestTokens(address) {
  // 1. Submit the faucet request
  const { id } = await fetch('https://faucet.testnet.bitsong.io/request', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ address })
  }).then(res => res.json())

  // 2. Poll for status
  while (true) {
    await new Promise(resolve => setTimeout(resolve, 3000))

    const result = await fetch(
      `https://faucet.testnet.bitsong.io/status/${id}`
    ).then(res => res.json())

    if (result.status === 'complete') {
      console.log('Tokens sent! Tx:', result.txHash)
      return result
    }

    if (result.status === 'failed') {
      throw new Error(result.error || 'Faucet request failed')
    }
  }
}

requestTokens('bitsong1yourtestnetaddresshere')

::

API Reference

Endpoints

MethodEndpointDescription
POST/requestSubmit a new faucet request. Body: { "address": "bitsong1..." }
GET/status/:idCheck the status of a faucet request

Status Values

StatusDescription
pendingRequest received, waiting to be processed
completeTokens have been sent successfully
failedRequest failed — see the error field for details

Troubleshooting

Copyright © 2026