Sending instant Bitcoin payments with Supabase
Learn how to send Bitcoin using Supabase Edge Functions.
Prerequisites
To complete this guide, you will need the following:
1. Create a Supabase Function
To create a Supabase Edge Function you must run the following command locally:
This will create a /supabase/functions/zbd-send
folder structure in your project.
2. Write the Edge Function
Use the code below as a starting point for your handler function. You will need to replace the ZBD_API_KEY
with your own ZBD Project’s API key.
3. Send payment locally
In order to successfully send payments through the API, you must have an active balance in the ZBD Project you are using. Learn more about depositing funds into a ZBD Project wallet.
If you do not have funds in the ZBD Project you are using, you will receive a 4xx error from the API stating insufficient funds.
To run this Supabase Edge Function locally you can spin up your Supabase instance using the following command. You may already have this running at this stage.
Then you can run the following command to start your serverless function:
Note that we add the --no-verify-jwt
flag to the command to disable JWT verification. This is because we are not passing a JWT token to the function when we call it. This is not recommended for production use.
Supabase CLI will output a HTTP URL endpoint that you can use to test your function by issuing a POST request to that resource.
4. Deploying to Supabase Edge
After testing it locally, you can deploy your function to Supabase Edge using the following command. You will need to enter your Supabase project ID to deploy.
Once you deploy you will receive a URL that you can use to view that function in production on Supabase’s Web Dashboard:
Opening your browser (or another HTTP client) to the URL provided by Supabase: https://xxxxxxxxxxxxx.supabase.co/functions/v1/zbd-send
should return a JSON response with the payment sent message.
You can also test this using curl command:
You’re looking for the status
of completed
to know that the payment settled successfully.
processing
. This is expected — use the callbackUrl
property to receive updates about your payments.5. Try it yourself
You can now begin sending instant Bitcoin payments on the edge with Supabase + ZBD!
Was this page helpful?