Retrieve Webhook

Introduction

We will notify you on each incoming payment to a Proxy Wallet and when of assets transferred to your Omnibus accounts (Forwarding webhooks).
We will notify you up to 10 times until your server respond http success status (200-299)
We use exponential backoff with a 1-minute delay as a seed value, so it will retry at most 10 times spaced after 1 minute, 2 minutes, 4 minutes, 8 minutes, etc.
In order to maintain non-custodial nature of Curra - we strongly recommend to double-check incoming webhooks via your own RPC.

Setup

You can set your server URL on the notifications page to receive webhooks:

Webhook payload

In order to authorize Curra notifications, like incoming payments notifications, you should compare webhook request's X-API-KEY header with your API key.
Method: POST
Headers:
  • content-type: application/json
  • x-api-key: your_api_key
get
https://yourwebsite.com/curra
/incoming-payment-hook

Body:

Key
Type
Description
id
string*
unique identifier
toAddress
value: string* uniqueId: string* meta: string
value – receive address uniqueId - uniqueId provided on address creation, generated if not provided meta – meta provided on address creation
fromAddress
string*
sender address
valueUnits
string*
payment amount in units
value
string*
payment amount in decimal format
blockchain
string*
available values at "API value" column here
block
number*
block number in which payment was mined
txHash
string*
trasaction hash
confirmations
number*
blockchain confirmations count
assetId
string*
asset id of a payment
status
string* "pending" or "success"
pending – payment is not confirmed yet success - payment confirmed on the address
subStatus
string*
blockchain-specific status, can be used in informational purposes
statusDescription
string*
human-readable description of status field

Examples:

Pending payment
Successful payment
Forwarding
You will receive notification on each "confirmations" field update
1
{
2
"id": 99,
3
"toAddress": {
4
"value": "0xf51eb0786cbdb8eb6e8175f0f32ecf90b04ceb84",
5
"uniqueId": "unique id you specified on address generation",
6
"meta": "meta you specified when address was created"
7
},
8
"value": "1.0",
9
"valueUnits": "1000000000000000000",
10
"blockchain": "ETHEREUM",
11
"fromAddresses": ["0x67b1d87101671b127f5f8714789c7192f7ad340e"],
12
"block": 171,
13
"txHash": "0x0b15d671d9fe9cfe110c2d3a03867cc0525f6aeee45fe21ff66d07e0fd38ef46",
14
"confirmations": 10,
15
"assetId": "asset-id-123-123",
16
"status": "pending",
17
"subStatus": "pending",
18
"statusDescription": "Waiting for confirmations"
19
}
Payment considered "successful" after 21 confirmations.
1
{
2
"id": 99,
3
"toAddress": {
4
"value": "0xf51eb0786cbdb8eb6e8175f0f32ecf90b04ceb84",
5
"uniqueId": "unique id you specified on address generation",
6
"meta": "meta you specified when address was created"
7
},
8
"value": "1.0",
9
"valueUnits": "1000000000000000000",
10
"blockchain": "ETHEREUM",
11
"fromAddresses": ["0x67b1d87101671b127f5f8714789c7192f7ad340e"],
12
"block": 171,
13
"txHash": "0x0b15d671d9fe9cfe110c2d3a03867cc0525f6aeee45fe21ff66d07e0fd38ef46",
14
"confirmations": 21,
15
"assetId": "asset-id-123-123",
16
"status": "success",
17
"subStatus": "deposited",
18
"statusDescription": "Deposited"
19
}
{
"id": 99,
"toAddress": {
"value": "0xf51eb0786cbdb8eb6e8175f0f32ecf90b04ceb84",
"uniqueId": "unique id you specified on address generation or default one",
"meta": "meta you specified when address was created"
},
"value": "1.0",
"valueUnits": "1000000000000000000",
"blockchain": "ETHEREUM",
"fromAddress": "0x67b1d87101671b127f5f8714789c7192f7ad340e",
"block": 171,
"txHash": "0x0b15d671d9fe9cfe110c2d3a03867cc0525f6aeee45fe21ff66d07e0fd38ef46",
"confirmations": 21,
"assetId": "asset-id-123-123",
"status": "success",
"subStatus": "forwarded",
"statusDescription": "Waiting for confirmations"
}