Transfer Jobs
Trever allows the user to automate withdrawals and attach certain conditions to them. It offers three different job types for this purpose. For all types, an interval can be set that defines how often a job is evaluated and executed. All transfer jobs require an underlying Treasury route of type transfer.
Transfer Job Types
There are 3 different types of transfer jobs:
- Sweeping
- Provision
- Rule-Based
1. Sweeping
Sweeping means that, depending on the set interval, the system repeatedly checks whether there are assets on a source wallet and, if so, all assets are transferred from the source wallet to the destination wallet.
To create a new transfer job, go to the Treasury screen and click Add new Job
.
First, select a type.
Then, select a route.
If a value is set here, the account is not emptied, but everything above the threshold is transferred. If the value is 0, everything on the source wallet is transferred.
The last step is used to check the settings you have made. In this example, the job runs every 12 hours. It checks whether there are more than 200 XLM on the source wallet. If so, everything over 200 XLM is transferred to the destination wallet.
After the job has been saved, it appears in the list of all active and inactive jobs.
2. Provision
A provisioning job ensures that a destination wallet is always funded up to a specified balance.
Select a route. The destination wallet is the one on which the balance check is performed. The source wallet is used to fund the destination wallet.
The threshold defines how much should be in the destination wallet after the transaction. The interval defines how often this should be checked. If the balance of the destination wallet is below the defined threshold, the delta is taken from the source wallet and transferred. If the balance on the source wallet is not sufficient to fund the delta, the job will not be executed.
The summary tells us that this job will check every 4 hours when our destination wallet on Fireblocks has at least 100 XLM. So the next time the job runs, 16.52 XLM would be transferred from our XLM wallet on Binance to our XLM wallet on Fireblocks.
3. Rule-Based
It is also possible to set up transfer jobs in Trever and define the conditions for them yourself. To achieve this, select the rule-based job type.
Select a route with a source and a destination wallet.
Set an interval and a quantity to be transferred at that interval.
In this example, we want to transfer 80 XLM to our destination wallet every hour when the balance of the destination wallet is less than 200 XLM. So we define a rule that selects the destination wallet as the
Side
, the Operator
is lower (<
), and the Quantity
is 200.
But because we want to make sure that our source wallet is not swept on this occasion, we define another rule for this job by clicking the ‘+’ button.
We add a second rule that uses the source wallet as the
Side
, the Operator
is greater (>
) and the Quantity
is 150. This way, we ensure that this job is only executed if the source wallet balance exceeds 150 XLM.
The last step in the dialogue summarizes all the conditions implemented for the job and the quantity that will be transferred if all conditions are met.
Fee Schedule
During the configuration of a transfer job, a dedicated step for configuring the fees is presented. In this step, the system fetches and displays all available fee capabilities within the step.
The speed levels SLOW
, DEFAULT
, and FAST
do not have specific fees stored. Instead, the system evaluates the fee level and passes it to the withdrawal request before executing the transfer job.
For the CUSTOM
speed level, users can specify the total fee. This specified fee is then used for every withdrawal request.