```python
from fastapi import FastAPI, Request, Depends
import asyncio
import helpers

app = FastAPI()

# Shared billing client instance
billing = helpers.BillingClient()

def get_billing() -> helpers.BillingClient:
    """FastAPI dependency providing the billing client."""
    return billing

@app.post("/charges", status_code=201)
async def create_charge(
    request: Request,
    billing_client: helpers.BillingClient = Depends(get_billing)
):
    """
    Process a payment charge request.
    Expects JSON: {"amount": <number>}
    Returns receipt id.
    """
    data = await request.json()
    amount = data["amount"]
    # Run the blocking billing.charge in a thread to avoid blocking the event loop
    receipt = await asyncio.to_thread(billing_client.charge, amount)
    return {"receipt": receipt}
```