Automatic Fund Conslidation
Once a deposit is successful, it will run through an auto consolidation phase, moving the funds from the deposit address to a central pooled wallet, meaning funds arent left spread across multiple wallets. If this is the first deposit of this cryptocurrency type to the asset pool, a master wallet will be automatically created
Auto-creation of a Master Pooling Wallet
The following webhook of event type layer1:digital:address:created
is intially sent once the despoist has been updated to SUCCESS
:
{
"event": "layer1:digital:address:created",
"timestamp": "2024-06-05T20:40:31.443861137Z",
"data": {
"id": "8e1fcdb5-8edc-49b7-9289-1c41c5bcd818",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"network": "ETHEREUM",
"keyPairId": "fdc9f5a0-698c-4163-ab21-df85f343a2a4",
"reference": "AssetPoolTwo",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
}
}
the address 0x96073c4b415d60ade18de32e43efc2914731e03d
is now set up for funds to be swept into.
The Balance Updated Webhook
When auto-consolidation takes place, the balance will be updated for the deposit address, as well as the new master address. Three balance updated webooks will be received during consolidation.
- The funds-reserved Balance Update, which shows the amount actioned in the consolidation move from
AVAILABLE
toRESERVED
in the original deposit address. - The new funds-available Balance Update, which shows the funds have been received by the new master address as shown in the
AVAILABLE
section. Note it is slightly less due to network fees. - The funds-released Balance Update, which shows the amount released from the
RESERVED
section and theBLOCKCHAIN
section once the consolidation has been successful. Note the small leftover funds or 'dust'.
Balance Updated Webhook Example
{
"event": "layer1:digital:balance:updated",
"timestamp": "2024-06-05T20:40:31.641988100Z",
"data": {
"reference": "First Eth Address",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"asset": "ETH",
"funds": [
{
"type": "AVAILABLE",
"balance": "0.00",
"delta": "-0.20"
},
{
"type": "BLOCKCHAIN",
"balance": "0.20",
"delta": "0.00"
},
{
"type": "RESERVED",
"balance": "0.20",
"delta": "0.20"
}
]
}
}
{
"event": "layer1:digital:balance:updated",
"timestamp": "2024-06-05T20:41:27.349393331Z",
"data": {
"reference": "AssetPoolTwo",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"asset": "ETH",
"funds": [
{
"type": "AVAILABLE",
"balance": "0.199630313934810125",
"delta": "0.199630313934810125"
},
{
"type": "BLOCKCHAIN",
"balance": "0.199630313934810125",
"delta": "0.199630313934810125"
},
{
"type": "RESERVED",
"balance": "0.00",
"delta": "0.00"
}
]
}
}
{
"event": "layer1:digital:balance:updated",
"timestamp": "2024-06-05T20:41:27.341091297Z",
"data": {
"reference": "First Eth Address",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"asset": "ETH",
"funds": [
{
"type": "AVAILABLE",
"balance": "0.000058795984828875",
"delta": "0.000058795984828875"
},
{
"type": "BLOCKCHAIN",
"balance": "0.000058795984828875",
"delta": "-0.199941204015171125"
},
{
"type": "RESERVED",
"balance": "0.00",
"delta": "-0.20"
}
]
}
}
The Consolidation Status Change Webhooks
These webhooks are sent out to inform about the current status of the consolidation of funds from one address you own, to another address in the same asset pool, this means there could be duplicates of the same type of webhook, but from different addresses so pay special attention to these in the webhook. There are Seven (or ten) update webhooks expected during the consolidation phase:
CREATED
FUNDS_RESERVED
SIGNED
DETECTED
- two webhooks, one for each of the addressesUNCONFIRMED
- two webhooks, one for each of the addressesCONFIRMED
- two webhooks, one for each of the addressesSUCCESS
Status Change Webhook Examples
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:31.722661928Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b7d18a869f191944a09e5e784d7ca8f45a69",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.20",
"status": "CREATED",
"address": {
"id": "d18a869f-1919-44a0-9e5e-784d7ca8f45a",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"network": "ETHEREUM",
"keyPairId": "44cf54df-93e9-4dd9-84c9-e96f0cf90f3e",
"reference": "First Eth Address",
"customerId": "customerOne",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.20",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:31.692479Z",
"destinations": [
{
"amount": "0.20",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
]
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:31.872516799Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b7d18a869f191944a09e5e784d7ca8f45a69",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.20",
"status": "FUNDS_RESERVED",
"address": {
"id": "d18a869f-1919-44a0-9e5e-784d7ca8f45a",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"network": "ETHEREUM",
"keyPairId": "44cf54df-93e9-4dd9-84c9-e96f0cf90f3e",
"reference": "First Eth Address",
"customerId": "customerOne",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.20",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:31.849128Z",
"destinations": [
{
"amount": "0.20",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
]
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:32.408072441Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b7d18a869f191944a09e5e784d7ca8f45a69",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.20",
"status": "SIGNED",
"address": {
"id": "d18a869f-1919-44a0-9e5e-784d7ca8f45a",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"network": "ETHEREUM",
"keyPairId": "44cf54df-93e9-4dd9-84c9-e96f0cf90f3e",
"reference": "First Eth Address",
"customerId": "customerOne",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.20",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:32.385590Z",
"destinations": [
{
"amount": "0.20",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
]
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:34.593627067Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b78e1fcdb58edc49b792891c41c5bcd8186f",
"hash": "0xc12e1f147b72e697469e24a5caadac1f4cf938cb7d40187eef3612746eb6b53e",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.199630313934810125",
"status": "DETECTED",
"address": {
"id": "8e1fcdb5-8edc-49b7-9289-1c41c5bcd818",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"network": "ETHEREUM",
"keyPairId": "fdc9f5a0-698c-4163-ab21-df85f343a2a4",
"reference": "AssetPoolTwo",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.199630313934810125",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:34.531163Z",
"destinations": [
{
"amount": "0.199630313934810125",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
]
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:37.022040178Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b78e1fcdb58edc49b792891c41c5bcd8186f",
"hash": "0xc12e1f147b72e697469e24a5caadac1f4cf938cb7d40187eef3612746eb6b53e",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.199630313934810125",
"status": "UNCONFIRMED",
"address": {
"id": "8e1fcdb5-8edc-49b7-9289-1c41c5bcd818",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"network": "ETHEREUM",
"keyPairId": "fdc9f5a0-698c-4163-ab21-df85f343a2a4",
"reference": "AssetPoolTwo",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.199941204015171125",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:36.987028Z",
"destinations": [
{
"amount": "0.199630313934810125",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
],
"networkDetail": {
"fee": {
"asset": "ETH",
"amount": "0.000310890080361"
},
"block": {
"number": 6046670,
"timestamp": "2024-06-05T20:40:36Z"
}
}
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:41:27.295882772Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b78e1fcdb58edc49b792891c41c5bcd8186f",
"hash": "0xc12e1f147b72e697469e24a5caadac1f4cf938cb7d40187eef3612746eb6b53e",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.199630313934810125",
"status": "CONFIRMED",
"address": {
"id": "8e1fcdb5-8edc-49b7-9289-1c41c5bcd818",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"network": "ETHEREUM",
"keyPairId": "fdc9f5a0-698c-4163-ab21-df85f343a2a4",
"reference": "AssetPoolTwo",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.199941204015171125",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:41:27.268151Z",
"destinations": [
{
"amount": "0.199630313934810125",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
],
"networkDetail": {
"fee": {
"asset": "ETH",
"amount": "0.000310890080361"
},
"block": {
"number": 6046670,
"timestamp": "2024-06-05T20:40:36Z"
}
}
}
}
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:41:27.398050688Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b7d18a869f191944a09e5e784d7ca8f45a69",
"hash": "0xc12e1f147b72e697469e24a5caadac1f4cf938cb7d40187eef3612746eb6b53e",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.199941204015171125",
"status": "SUCCESS",
"address": {
"id": "d18a869f-1919-44a0-9e5e-784d7ca8f45a",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"network": "ETHEREUM",
"keyPairId": "44cf54df-93e9-4dd9-84c9-e96f0cf90f3e",
"reference": "First Eth Address",
"customerId": "customerOne",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.199941204015171125",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:41:27.375074Z",
"destinations": [
{
"amount": "0.199630313934810125",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
],
"networkDetail": {
"fee": {
"asset": "ETH",
"amount": "0.000310890080361"
},
"block": {
"number": 6046670,
"timestamp": "2024-06-05T20:40:36Z"
}
}
}
}
At the final point of getting the SUCCESS
wehbook, the deposit has been successful received by the asset pool. This sets off an automatic consolidation round that will move the funds to a central master wallet that pools all the funds for future action, and will be covered in the next section.
Now that the central wallet address exists, the consolidation can be triggered, which will send out a series of consolidation webhooks, which shows the funds moving fro the despoist address , 0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9
, to the new central wallet under the destinations
array , 0x96073c4b415d60ade18de32e43efc2914731e03d
,
{
"event": "layer1:digital:consolidation:status-change",
"timestamp": "2024-06-05T20:40:31.722661928Z",
"data": {
"id": "018fea21bff771e791d51a34af5c59b7d18a869f191944a09e5e784d7ca8f45a69",
"type": "CONSOLIDATION",
"asset": "ETH",
"amount": "0.20",
"status": "<STATUS>",
"address": {
"id": "d18a869f-1919-44a0-9e5e-784d7ca8f45a",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"network": "ETHEREUM",
"keyPairId": "44cf54df-93e9-4dd9-84c9-e96f0cf90f3e",
"reference": "First Eth Address",
"customerId": "customerOne",
"assetPoolId": "2be1cc9c-a5af-47e2-9dba-b7b82317e600"
},
"sources": [
{
"amount": "0.20",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9"
}
],
"createdAt": "2024-06-05T20:40:31.479Z",
"reference": "consolidation-ETH-018fea20-a69e-7cc5-8066-f8d03362e797",
"updatedAt": "2024-06-05T20:40:31.692479Z",
"destinations": [
{
"amount": "0.20",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d"
}
]
}
}
Furhter total webhooks will be sent out showing the funds moved from the source address to the destination address
{
"event": "layer1:digital:balance:updated",
"timestamp": "2024-06-05T20:41:27.341091297Z",
"data": {
"reference": "First Eth Address",
"address": "0xc4b21fb39aaf5fc07d3cd4420bf3ee74a61642e9",
"asset": "ETH",
"funds": [
{
"type": "AVAILABLE",
"balance": "0.000058795984828875",
"delta": "0.000058795984828875"
},
{
"type": "BLOCKCHAIN",
"balance": "0.000058795984828875",
"delta": "-0.199941204015171125"
},
{
"type": "RESERVED",
"balance": "0.00",
"delta": "-0.20"
}
]
}
}
{
"event": "layer1:digital:balance:updated",
"timestamp": "2024-06-05T20:41:27.349393331Z",
"data": {
"reference": "AssetPoolTwo",
"address": "0x96073c4b415d60ade18de32e43efc2914731e03d",
"asset": "ETH",
"funds": [
{
"type": "AVAILABLE",
"balance": "0.199630313934810125",
"delta": "0.199630313934810125"
},
{
"type": "BLOCKCHAIN",
"balance": "0.199630313934810125",
"delta": "0.199630313934810125"
},
{
"type": "RESERVED",
"balance": "0.00",
"delta": "0.00"
}
]
}
}
Updated 6 months ago