🌐 Webhook Integration Guide
Genesis Blockchain offers a central webhook service for developers and exchanges to receive real-time notifications for confirmed transfers. Since external systems cannot directly access our internal infrastructure, webhook publishing is managed centrally from our secure servers.
📦 Webhook Payload Example
{
"hash": "00a733f9...",
"amount": 2.00000000,
"fee": 0.02000000,
"sender": "GNS9FDC38AEDD3F17853B9F1DD9722C6C",
"receiver": "GNSCD82FDBD126322CE9D9964CEF523A6",
"timestamp": "2025-05-10T21:17:30Z"
}
📚 Sample Listener Implementations
🔧 PHP (Laravel)
Route::post('/webhook/gns', function (\Illuminate\Http\Request $request) {
\Log::info("GNS Webhook", $request->all());
return response()->json(['success' => true]);
});
🐍 Python (Flask)
@app.route('/webhook/gns', methods=['POST'])
def gns_webhook():
data = request.get_json()
print("Received Webhook:", data)
return jsonify({"status": "received"})
🟦 Node.js (Express)
app.post('/webhook/gns', (req, res) => {
console.log("Webhook received:", req.body);
res.status(200).json({ status: "ok" });
});
⚙️ ASP.NET Core (C#)
[HttpPost]
public IActionResult Receive([FromBody] GnsWebhookModel payload)
{
Console.WriteLine(JsonSerializer.Serialize(payload));
return Ok(new { success = true });
}
🔐 Security Notes
- All POSTs are made with Content-Type: application/json.
- You can verify requests by comparing the
hash
andtimestamp
. - Requests originate from
*.bitendex.com
IP space. - To ensure reliability, use a queue or async job processor to handle webhook events.
📌 Final Notes
This centralized webhook structure ensures that even if you do not run a full Genesis node, you can still receive every confirmed transfer live and integrate it with your exchange or app in seconds.