Intro

Overview

On every deposit your wallet recieve, SingleWallet will send an event as a web request to your system called webhook.

This webhook will contain informations about that specific deposit, and you should always check the signature of that webhook request, and also check with SingleWallet to make sure it's not duplicated or your secret key is not compromised.

Security measures

With every webhook SingleWallet will send a signature in the request header sw-signature and this signature can be used to verify that webhook was not tempered by a third party, but this signature will not protect your system from replay attack, so you must always make your checks, and store that transaction id in your system and check with SingleWallet for every webhook you recieve.

What happen on failure?

Your server should respond with a 2XX response within 10 seconds of receiving a webhook delivery. If your server takes longer than that to respond, then SingleWallet terminates the connection and considers the delivery a failure.

When webhook deliver fail, SingleWallet will redeliver the webhook 7 times before it stops.

Redeliver table

1the first webhook call
TryRedeliver Time
2after 30 seconds of 1st try
3after 60 seconds of 2nd try
4after 5 minutes of 3rd try
5after 30 minutes of 4th try
6after 60 minutes of 5th try
7after 6 hours of 6th try
8after 24 hours of 7th try, failing after this request will consider it done.

How to setup a webhook

From your dashboard click on Projects > Configuration and set a valid url to your webhook.

Your webhook URL must have SSL enabled or SingleWallet won't accept it.

Also you can enable whether you wan't SingleWallet to send you a dust events or not.

Webhook servers list

You should whitelist the following ip addresses in your Cloudflare or any firewall your system use, to allow SingleWallet requests make requests to your application without inturrption.

159.69.5.99

The servers list will be updated frequently to add new servers, we'll notify you by email for any upcoming updates.