# Quickstart Get from zero to a working crypto payment in about 10 minutes. You'll create a real BlockBee payment address, point it at a test webhook, and verify the integration end-to-end with a small Litecoin payment. > **INFO: What you'll need** >- A free BlockBee account ([register here](https://dash.blockbee.io/register)). > - About $1 of Litecoin (LTC) in any wallet — used in step 4 to verify the webhook fires. > - 10 minutes. Already know which integration you want? Skip to [Choose your integration](/get-started/integrations). ## 1. Get an API key 1. [Sign up for a free BlockBee account](https://dash.blockbee.io/register). 2. Configure a Litecoin receiving address on the [Addresses page](https://dash.blockbee.io/profile/addresses). BlockBee forwards confirmed payments to this wallet. 3. Generate a key on the [API Keys page](https://dash.blockbee.io/profile/api-keys) and copy it. ![The BlockBee dashboard API Keys page](/assets/images/quickstart/api-keys-page.jpg) *Generate and copy your API key from the dashboard* ```bash export BLOCKBEE_KEY="your_api_key_here" ``` > **INFO** >A V1 key is sufficient for this Quickstart. [V2 keys](/get-started/authentication) unlock the self-custodial wallet and payouts, covered later. ## 2. Create a payment address Call the [Create payment address](/api/create-payment-address) endpoint to generate a fresh Litecoin address. Use a placeholder callback for now; you'll update it in step 3. ```bash curl "https://api.blockbee.io/ltc/create/?callback=https://example.com/placeholder&apikey=$BLOCKBEE_KEY" ``` ```javascript const apikey = process.env.BLOCKBEE_KEY; const url = `https://api.blockbee.io/ltc/create/?callback=https://example.com/placeholder&apikey=${apikey}`; const res = await fetch(url); const data = await res.json(); console.log(data); ``` ```python import os, requests apikey = os.environ["BLOCKBEE_KEY"] res = requests.get("https://api.blockbee.io/ltc/create/", params={ "callback": "https://example.com/placeholder", "apikey": apikey, }) print(res.json()) ``` ```php 'https://example.com/placeholder', 'apikey' => $apikey, ]); $res = file_get_contents("https://api.blockbee.io/ltc/create/?$query"); print_r(json_decode($res, true)); ``` The response looks like this: ```json { "status": "success", "address_in": "LWHJgvkXuNcJ7pCxQ8Pj2oYjGZxKxcz...", "address_out": "LZj9QTqMR8K5y4rCtV1cLrLwZP9Q...", "callback_url": "https://example.com/placeholder", "priority": "default" } ``` `address_in` is the address your customer pays. `address_out` is the wallet you configured in step 1, where BlockBee forwards confirmed funds. Save `address_in` — you'll use it in step 4. ## 3. Set up a webhook receiver When a payment arrives at `address_in`, BlockBee POSTs to your `callback` URL. For testing, use [webhook.site](https://webhook.site) — a free tool that provides a public URL and displays incoming requests in real time. No signup required, no server to run. 1. Open [webhook.site](https://webhook.site). Copy the unique URL it generates (e.g. `https://webhook.site/abc123...`). 2. Re-run the request from step 2 with that URL as your `callback`. You'll receive a new `address_in`. 3. Keep the webhook.site tab open — the callback will appear there in step 4. ![webhook.site landing with a unique URL](/assets/images/quickstart/webhook-site-url.png) *webhook.site gives you a public URL the moment the page loads — no signup needed* > **INFO** >In production, your webhook endpoint must be publicly accessible over HTTPS, respond with `200` and the body `*ok*`, and verify the request signature. See the [Webhooks guide](/webhooks) for the full contract. ## 4. Send a test payment Send a small amount of Litecoin (around $1, or about 0.005 LTC at recent prices) from any wallet to the `address_in` you generated in step 3. > **WARNING: Stay above the minimum** >Every cryptocurrency has a minimum transaction amount. Transactions below this minimum are **ignored, and the funds are lost**. Check the current LTC minimum on the [cryptocurrencies page](https://blockbee.io/cryptocurrencies) or via the [Service info endpoint](/api/get-service-info) before sending. Litecoin blocks confirm every ~2.5 minutes, so the webhook will fire shortly after you send the payment. The payload looks like this: ```json { "address_in": "LWHJgvkXuNcJ7pCxQ8Pj2oYjGZxKxcz...", "address_out": "LZj9QTqMR8K5y4rCtV1cLrLwZP9Q...", "txid_in": "f8e1d2...", "txid_out": "a3b9c4...", "confirmations": "1", "value": "500000", "value_coin": "0.005", "coin": "ltc", "result": "sent" } ``` ![webhook.site showing the incoming BlockBee callback](/assets/images/quickstart/webhook-received.png) *The webhook lands on webhook.site with the full payment details* BlockBee has confirmed the payment and forwarded it to your wallet. The integration is complete. ## What's next Pick the integration that fits your product: - **[Checkout Payments](/get-started/checkout-payments)** — hosted checkout page; BlockBee handles the UI. - **[Custom Payment Flow](/get-started/custom-payment-flow)** — your UI on top of the BlockBee API. - **[Subscriptions](/get-started/subscriptions)** — recurring billing with automatic retries on missed payments. - **[Browse all integrations](/get-started/integrations)** — no-code plugins, hosted storefront, payment links, POS. Then harden the integration: - [Verify webhook signatures](/webhooks) before going to production. - [Upgrade to API Key V2](/kb/tutorials/dashboard/how-to-upgrade-to-api-key-v2) to unlock the self-custodial wallet and payouts. - Read the full [API reference](/api). Stuck? Join us on [Discord](https://discord.gg/pQaJ32SGrR) or [contact support](https://blockbee.io/contacts/).