Appearance
Transfers
Methods for creating and managing transfers.
Quick Reference
| Method | Description |
|---|---|
| createDeposit | Create a deposit transaction into a wallet, by issuing new tokens to the system. |
| createTransfer | Create a transfer of Token amount from one wallet to the other. |
| createTransfers | Create multiple transfers with one call. Transfers are created in a transaction so it either succeeds or fails as one. Will respect internal balance transfers to avoid latest_control_hash |
| createWithdrawal | Create a transfer withdrawing funds from a Wallet. Will default to transferring funds to Token default Wallet. |
| findTransfers | Search for Transfers using either a simple filter or queryBuilder |
| getTransfer | Get information about a specific Transfer |
| reverseTransfer | Reverse a transfer of value between two wallets will cancel pending transfers and create opposite transfers for finished ones. |
| reverseTransfers | Call reverseTransfer on the searchresults of findTransfer |
| updateTransfer | Update a Transfer |
| updateTransfers | Update multiple Transfer objects |
createDeposit
Create a deposit transaction into a wallet, by issuing new tokens to the system.
ts
await client.createDeposit(
{
identifier: 'mycustomId',
token: 'ForeignForToken',
wallet: 'ForeignForWallet',
amount: 10.01,
metadata: {
customJsonBlob: true,
},
status: 'finished',
// transfer_group: TransferGroup.identifier, // existing transfer group identifier
},
{
tracking_id: 'mylogId',
// transaction_id: Transaction.identifier, // created transaction identifier
create_wallet_if_not_exists: true,
return_balance: true,
},
);ts
{
transfer: {
id: 9,
identifier: 'mycustomId',
control_hash: null,
from_wallet_id: 19,
to_wallet_id: 20,
token_id: 4,
amount: 10.01,
type: 'deposit',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
customJsonBlob: true
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'ForeignForToken',
to_wallet_foreign: 'ForeignForWallet',
token_foreign: 'ForeignForToken',
transfer_group_identifier: null,
reverses_identifier: null
},
to_balance: {
token_id: 4,
token_foreign: 'ForeignForToken',
token_metadata: null,
wallet_id: 20,
wallet_foreign: 'ForeignForWallet',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 10.01,
available_balance: 10.01,
amount: 10.01,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
}
};createDepositFnInput
Input for createDeposit
| Attribute | Type | Required | Description |
|---|---|---|---|
identifier | string | Identifier for this transfer. Must be unique | |
token | string | number | Id of the token to deposit as | |
wallet | string | number | ✓ | Id of the wallet to deposit to |
amount | number | string | ✓ | amount to deposit |
metadata | | Key/value object describing this transfer | |
status | | Status of the transfer | |
transfer_group | string | number | Id of the transfer_group this deposit is linked to | |
created_at | string | Datetime of the initial create | |
options | {} | Optional flags for input |
createDepositFnOutput
Output of createDeposit
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} | ✓ | Created transfer object |
from_balance | {} | Debited wallet balance | |
to_balance | {} | Credited wallet balance |
createTransfer
Create a transfer of Token amount from one wallet to the other.
ts
await client.createTransfer(
{
identifier: 'mynewtransferid',
token: 'EUR',
from_wallet: TEST.INFO.WALLETS.withEURFunds0.foreign,
to_wallet: 'foreignForMbyExistingWallet',
amount: 10.01,
metadata: {
customJSON: true,
},
type: 'transfer',
status: 'pending',
// transfer_group: TransferGroup.identifier,
},
{
create_to_wallet_if_not_exists: true,
// GENERALOPTIONS
},
);ts
{
transfer: {
id: 9,
identifier: 'mynewtransferid',
control_hash: null,
from_wallet_id: 16,
to_wallet_id: 21,
token_id: 1,
amount: 10.01,
type: 'transfer',
status: 'pending',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
customJSON: true
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: null,
group_validate: false,
from_wallet_foreign: '2026-01-01T10:00:00.000Z',
to_wallet_foreign: 'foreignForMbyExistingWallet',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: null
}
};createTransferFnInput
Input for createTransfer
| Attribute | Type | Required | Description |
|---|---|---|---|
identifier | string | Identifier for this transfer. Must be unique | |
token | string | number | Id of the token to transfer as | |
from_wallet | string | number | ✓ | Foreign of the wallet to withdraw from |
to_wallet | string | number | ✓ | Foreign of the wallet to deposit to |
latest_control_hash | string | Hash binding this transfer to the from_wallets transfer chain. It is calculated as sha256(latest_outgoing_hash + - + NEW.identifier) | |
amount | number | string | ✓ | amount to withdraw |
metadata | | Key/value object describing this transfer | |
status | | status of the transfer | |
transfer_group | string | number | Id of the transfer_group this transfer is linked to | |
created_at | string | Datetime of the initial create | |
type | transfer | ||
force | boolean | Set to true to force transfer without checking for negative balance constraints | |
options | {} | Optional flags for input |
createTransferFnOutput
Output of createTransfer
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} | ✓ | Created transfer object |
from_balance | {} | Debited wallet balance | |
to_balance | {} | Credited wallet balance |
createTransfers
Create multiple transfers with one call. Transfers are created in a transaction so it either succeeds or fails as one. Will respect internal balance transfers to avoid latest_control_hash
ts
await client.createTransfers(
{
transfers: [
{
type: 'deposit',
wallet: TEST.INFO.WALLETS.validForeign2,
token: 'EURO',
amount: 10.01,
},
{
from_wallet: TEST.INFO.WALLETS.validForeign2,
to_wallet: 'newWalletForeignMby',
token: 'EURO',
amount: 10.01,
latest_control_hash: null, // not required as we just transferred funds
},
{
type: 'withdrawal',
wallet: 'newWalletForeignMby',
token: 'EURO',
amount: 10.01,
latest_control_hash: null, // not required as we just transferred funds
},
],
},
{
create_to_wallet_if_not_exists: true,
return_from_balance: true,
return_to_balance: true,
// GENERALOPTIONS
},
);ts
{
transfers: [
{
id: 7,
identifier: 'decbda62-480f-4b95-97bf-c6b28c7271a2',
control_hash: null,
from_wallet_id: 19,
to_wallet_id: 7,
token_id: 4,
amount: 10.01,
type: 'deposit',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: null,
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'EURO',
to_wallet_foreign: 'VALID2',
token_foreign: 'EURO',
transfer_group_identifier: null,
reverses_identifier: null
},
{
id: 8,
identifier: '25122eb6-0e02-495f-9033-8f069a5a32ad',
control_hash: null,
from_wallet_id: 7,
to_wallet_id: 20,
token_id: 4,
amount: 10.01,
type: 'transfer',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: null,
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'VALID2',
to_wallet_foreign: 'newWalletForeignMby',
token_foreign: 'EURO',
transfer_group_identifier: null,
reverses_identifier: null
},
{
id: 9,
identifier: 'a815520a-7cbe-4bc2-9a2c-5db7c6bf92f2',
control_hash: null,
from_wallet_id: 20,
to_wallet_id: 19,
token_id: 4,
amount: 10.01,
type: 'withdrawal',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: null,
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'newWalletForeignMby',
to_wallet_foreign: 'EURO',
token_foreign: 'EURO',
transfer_group_identifier: null,
reverses_identifier: null
}
],
to_balances: [
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 7,
wallet_foreign: 'VALID2',
wallet_metadata: null,
transfer_id: 8,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 20,
wallet_foreign: 'newWalletForeignMby',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 19,
wallet_foreign: 'EURO',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
}
],
from_balances: [
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 19,
wallet_foreign: 'EURO',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 7,
wallet_foreign: 'VALID2',
wallet_metadata: null,
transfer_id: 8,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
{
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 20,
wallet_foreign: 'newWalletForeignMby',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
}
]
};createTransfersFnInput
Input for createTransfers
| Attribute | Type | Required | Description |
|---|---|---|---|
transfers | ({})[] | ✓ | Array of transfer objects to create |
options | {} | Optional flags for input |
createTransfersFnOutput
Output of createTransfers
| Attribute | Type | Always | Description |
|---|---|---|---|
transfers | ({})[] | ✓ | Created transfer objects |
from_balances | ({})[] | Debited wallet balances | |
to_balances | ({})[] | Credited wallet balances |
createWithdrawal
Create a transfer withdrawing funds from a Wallet. Will default to transferring funds to Token default Wallet.
ts
await client.createWithdrawal(
{
identifier: 'mycustomId',
token: 'ForeignForToken',
wallet: 'ForeignForWallet',
amount: 10.01,
metadata: {
customJsonBlob: true,
},
status: 'finished',
latest_control_hash: null,
// transfer_group: TransferGroup.identifier, // existing transfer group identifier
},
{
tracking_id: 'mylogId',
// transaction_id: Transaction.identifier, // created transaction identifier
return_balance: true,
},
);ts
{
transfer: {
id: 7,
identifier: 'mycustomId',
control_hash: null,
from_wallet_id: 19,
to_wallet_id: 18,
token_id: 4,
amount: 10.01,
type: 'withdrawal',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
customJsonBlob: true
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'ForeignForWallet',
to_wallet_foreign: 'ForeignForToken',
token_foreign: 'ForeignForToken',
transfer_group_identifier: null,
reverses_identifier: null
},
from_balance: {
token_id: 4,
token_foreign: 'ForeignForToken',
token_metadata: null,
wallet_id: 19,
wallet_foreign: 'ForeignForWallet',
wallet_metadata: null,
transfer_id: 7,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 89.99,
available_balance: 89.99,
amount: 89.99,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
}
};createWithdrawalFnInput
Input for createWithdrawal
| Attribute | Type | Required | Description |
|---|---|---|---|
identifier | string | Identifier for this transfer. Must be unique | |
token | string | number | Id of the token to withdrawal as | |
wallet | string | number | ✓ | Id of the wallet to withdraw from |
latest_control_hash | string | Hash binding this transfer to the from_wallets transfer chain. It is calculated as sha256(latest_outgoing_hash + - + NEW.identifier) | |
amount | number | string | ✓ | amount to withdraw |
metadata | | Key/value object describing this transfer | |
status | | status of the withdrawal | |
transfer_group | string | number | Id of the transfer_group this withdrawal is linked to | |
created_at | string | Datetime of the initial create | |
options | {} | Optional flags for input |
createWithdrawalFnOutput
Output of createWithdrawal
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} | ✓ | Created transfer object |
from_balance | {} | Debited wallet balance | |
to_balance | {} | Credited wallet balance |
findTransfers
Search for Transfers using either a simple filter or queryBuilder
ts
await client
.findTransfers()
.where({
metadata: {
example: true,
},
})
.where('id', '>', 1)
.where((builder) => {
builder.where('status', 'finished').orWhere('type', 'deposit');
})
.limit(5)
.offset(0)
.orderBy(['token_id', { column: 'id', order: 'desc' }])
.select('id', 'type', 'from_wallet_foreign', 'to_wallet_foreign')
.options({
tracking_id: 'hello',
});ts
{
transfers: [
{
id: 30,
type: 'deposit',
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house'
},
{
id: 29,
type: 'deposit',
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house'
},
{
id: 28,
type: 'deposit',
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house'
},
{
id: 27,
type: 'deposit',
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house'
},
{
id: 26,
type: 'deposit',
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house'
}
],
metadata: {
limit: 5,
offset: 0,
more_rows: true,
order: [
{
field: 'token_id',
direction: 'asc'
},
{
field: 'id',
direction: 'desc'
}
]
}
};findTransfersFnInput
Input for findTransfers
| Attribute | Type | Required | Description |
|---|---|---|---|
wallet | string | number | Foreign of the wallet connected to transfers | |
token | string | number | Foreign of the token transferred | |
from_wallet | string | number | Foreign of the wallet transfers are made from | |
to_wallet | string | number | Foreign of the wallet transfers are made to | |
transfer_group | string | number | Foreign of the transfer_group the transfers are a part of | |
type | | Type of the transfer | |
status | | Status of the transfers | |
metadata | | Metadata filter for custom properties | |
options | {} | Optional flags for input |
findTransfersFnOutput
Output of findTransfers
| Attribute | Type | Always | Description |
|---|---|---|---|
transfers | ({})[] | ✓ | Found transfers |
metadata | {} | ✓ | Metadata about the search |
getTransfer
Get information about a specific Transfer
ts
await client.getTransfer(
{
transfer: 'get-transfer-test',
},
{
// GENERALOPTIONS
},
);ts
{
transfer: {
id: 4,
identifier: 'get-transfer-test',
control_hash: null,
from_wallet_id: 1,
to_wallet_id: 3,
token_id: 1,
amount: 10,
type: 'deposit',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
example: 'test'
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'house',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: null
}
};getTransferFnInput
Input for getTransfer
| Attribute | Type | Required | Description |
|---|---|---|---|
transfer | string | number | ✓ | Transfer identifier |
options | {} | Optional flags for input |
getTransferFnOutput
Output of getTransfer
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} |
reverseTransfer
Reverse a transfer of value between two wallets will cancel pending transfers and create opposite transfers for finished ones.
ts
await client.reverseTransfer(
{
transfer: 'MYDEPOSIT',
status: 'finished',
identifier: 'MYREVERSEDEPOSIT',
force: true,
// metadata: {},
metadata: {
extraCustomJSON: true,
},
},
{
reverse_deposit: true,
reverse_withdrawal: true,
return_to_balance: true,
return_from_balance: true,
metadata_action: 'extend',
// GENERALOPTIONS
},
);ts
{
transfer: {
id: 9,
identifier: 'MYREVERSEDEPOSIT',
control_hash: null,
from_wallet_id: 7,
to_wallet_id: 1,
token_id: 1,
amount: 10.01,
type: 'withdrawal',
status: 'finished',
force: true,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
customJSON: true,
extraCustomJSON: true
},
transfer_group_id: null,
reverses_id: 8,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'VALID2',
to_wallet_foreign: 'EUR',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: 'MYDEPOSIT'
},
to_balance: {
token_id: 1,
token_foreign: 'EUR',
token_metadata: null,
wallet_id: 1,
wallet_foreign: 'EUR',
wallet_metadata: null,
transfer_id: 9,
pending_amount: 10.01,
pending_amount_to: 10.01,
pending_amount_from: 0,
finished_amount: -100010.01,
available_balance: -100010.01,
amount: -100000,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
from_balance: {
token_id: 1,
token_foreign: 'EUR',
token_metadata: null,
wallet_id: 7,
wallet_foreign: 'VALID2',
wallet_metadata: null,
transfer_id: 9,
pending_amount: -10.01,
pending_amount_to: 0,
pending_amount_from: -10.01,
finished_amount: 10.01,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
}
};reverseTransferFnInput
Input for reverseTransfer
| Attribute | Type | Required | Description |
|---|---|---|---|
transfer | string | number | ✓ | Transfer identifier |
status | | Status of the created transfer | |
identifier | string | Identifier for the created transfer | |
force | boolean | Force create the reverse transfer ignoring balance | |
metadata | | Metadata for the reversed transfers | |
extend_metadata | {[key:string]: string | boolean | number | null | undefined | unknown | (string | boolean | number | null | undefined | unknown)[]} | Key value object to extend metadata with on created transfer | |
options | {} | Optional flags for input |
reverseTransferFnOutput
Output of reverseTransfer
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} | Updated transfer object | |
updated | boolean | Boolean showing if the transfer was updated | |
from_balance | {} | Debited wallet balance | |
to_balance | {} | Credited wallet balance |
reverseTransfers
Call reverseTransfer on the searchresults of findTransfer
ts
await TEST.client.reverseTransfers({
metadata: {
example: 'test',
},
});ts
{
transfers: [
{
id: 9,
identifier: '78fd4b4f-3d07-4fff-ad57-251145c8c68f',
control_hash: null,
from_wallet_id: 6,
to_wallet_id: 16,
token_id: 1,
amount: 10.12,
type: 'transfer',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: null,
transfer_group_id: null,
reverses_id: 7,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'VALID1',
to_wallet_foreign: '2026-01-01T10:00:00.000Z',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: '91952d99b248fab1bdfae00bace44030'
},
{
id: 10,
identifier: 'd0c9ae03-36af-4bb9-871e-baa2b25d6711',
control_hash: null,
from_wallet_id: 6,
to_wallet_id: 16,
token_id: 1,
amount: 10.12,
type: 'transfer',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: null,
transfer_group_id: null,
reverses_id: 8,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'VALID1',
to_wallet_foreign: '2026-01-01T10:00:00.000Z',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: '8a394616eb4bebf4843ae46f071c17e3'
}
]
};reverseTransfersFnInput
Input for reverseTransfers
| Attribute | Type | Required | Description |
|---|---|---|---|
id | string | number | Transfer id | |
identifier | string | number | Transfer identifier | |
from_wallet | string | number | Foreign of the wallet transfers are made from | |
to_wallet | string | number | Foreign of the wallet transfers are made to | |
wallet | string | number | Foreign of the wallet connected to transfers | |
token | string | number | Foreign of the token transferred | |
type | | Type of the transfer | |
status | | Status of the transfers | |
transfer_group | string | number | Foreign of the transfer_group the transfers are a part of | |
reverses | string | number | {} | Unique transfer filter | |
metadata | | Metadata filter for custom properties | |
amount | string | number | Transfer amount | |
created_at | string | Datetime of the initial create | |
updated_at | string | Datetime of the last update | |
from_wallet_id | string | number | Debited Wallet id | |
to_wallet_id | string | number | Credited Wallet id | |
token_id | string | number | Transferred Token id | |
transfer_group_id | string | number | TransferGroup id the transfer is a part of | |
reverses_id | string | number | Reversed Transfer id | |
reverse | {} | In case the transfer will be made then apply these modifications | |
options | {} | Optional flags for input |
reverseTransfersFnOutput
Output of reverseTransfers
| Attribute | Type | Always | Description |
|---|---|---|---|
transfers | ({})[] | ✓ | Created transfer array |
updateTransfer
Update a Transfer
ts
await client.updateTransfer(
{
transfer: 'myPendingDeposit',
status: 'cancelled',
metadata: {
meta: 'new',
was: true,
},
},
{
return_from_balance: true,
return_to_balance: true,
return_when_not_updated: true,
metadata_action: 'extend',
// GENERALOPTIONS
},
);ts
{
transfer: {
id: 8,
identifier: 'myPendingDeposit',
control_hash: null,
from_wallet_id: 18,
to_wallet_id: 19,
token_id: 4,
amount: 10.01,
type: 'deposit',
status: 'cancelled',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
is: true,
was: true,
meta: 'new'
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'EURO',
to_wallet_foreign: 'myWallet',
token_foreign: 'EURO',
transfer_group_identifier: null,
reverses_identifier: null
},
to_balance: {
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 19,
wallet_foreign: 'myWallet',
wallet_metadata: null,
transfer_id: 8,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
from_balance: {
token_id: 4,
token_foreign: 'EURO',
token_metadata: null,
wallet_id: 18,
wallet_foreign: 'EURO',
wallet_metadata: null,
transfer_id: 8,
pending_amount: 0,
pending_amount_to: 0,
pending_amount_from: 0,
finished_amount: 0,
available_balance: 0,
amount: 0,
latest_control_hash: null,
updated_at: '2026-01-01T10:00:00.000Z'
},
updated: true
};updateTransferFnInput
Input for updateTransfer
| Attribute | Type | Required | Description |
|---|---|---|---|
transfer | string | number | ✓ | Transfer identifier |
metadata | | Key/value object describing this transfer | |
extend_metadata | {[key:string]: string | boolean | number | null | undefined | unknown | (string | boolean | number | null | undefined | unknown)[]} | Key/value object describing this transfer | |
status | | Status the transfer should be set to | |
options | {} | Optional flags for input |
updateTransferFnOutput
Output of updateTransfer
| Attribute | Type | Always | Description |
|---|---|---|---|
transfer | {} | Updated transfer object | |
updated | boolean | Boolean showing if the transfer was updated | |
from_balance | {} | Debited wallet balance | |
to_balance | {} | Credited wallet balance |
updateTransfers
Update multiple Transfer objects
ts
await client.updateTransfers({
metadata: {
example: 'test',
},
wallet: TEST.INFO.WALLETS.validId1.foreign,
token: 'EUR',
update: {
status: 'finished',
},
});ts
{
transfers: [
{
id: 12,
identifier: '27452863-1530-406a-93fb-061d43723643',
control_hash: null,
from_wallet_id: 1,
to_wallet_id: 6,
token_id: 1,
amount: 10,
type: 'deposit',
status: 'finished',
force: false,
auto_hash: false,
created_at: '2026-01-01T10:00:00.000Z',
updated_at: '2026-01-01T10:00:00.000Z',
metadata: {
example: 'test'
},
transfer_group_id: null,
reverses_id: null,
status_finalized_at: '2026-01-01T10:00:00.000Z',
group_validate: false,
from_wallet_foreign: 'EUR',
to_wallet_foreign: 'VALID1',
token_foreign: 'EUR',
transfer_group_identifier: null,
reverses_identifier: null
}
],
updated: true
};updateTransfersFnInput
Input for updateTransfers
| Attribute | Type | Required | Description |
|---|---|---|---|
identifier | string | number | The identifier of the transfer | |
wallet | string | number | Foreign of the wallet connected to transfers | |
token | string | number | Foreign of the token transferred | |
from_wallet | string | number | Foreign of the wallet transfers are made from | |
to_wallet | string | number | Foreign of the wallet transfers are made to | |
transfer_group | string | number | Foreign of the transfer_group the transfers are a part of | |
status | | Status of the transfers | |
metadata | | Metadata filter for custom properties | |
update | {} | ✓ | |
options | {} | Optional flags for input |
updateTransfersFnOutput
Output of updateTransfers
| Attribute | Type | Always | Description |
|---|---|---|---|
transfers | ({})[] | ✓ | Updated transfers |
updated | boolean | ✓ | Boolean showing if the transfers were updated |