Skip to main content
POST
/
vault
/
accounts
/
{vaultAccountId}
/
virtual_asset_wallet
/
usdc_gateway
/
deposit_automation
TypeScript
const response: Promise<FireblocksResponse<SaveAutomationSettingsResponse>> = fireblocks.vaults.setUsdcGatewayDepositAutomationBeta(vaultsApiSetUsdcGatewayDepositAutomationBetaRequest);
CompletableFuture<ApiResponse<SaveAutomationSettingsResponse>> response = fireblocks.vaults().setUsdcGatewayDepositAutomationBeta(automationSettingsRequest, vaultAccountId, idempotencyKey);
response = fireblocks.vaults.set_usdc_gateway_deposit_automation_beta(automation_settings_request, vault_account_id, idempotency_key);
curl --request POST \
--url https://api.fireblocks.io/v1/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation \
--header 'Content-Type: application/json' \
--data '
{
"automationType": "USDC_GATEWAY_DEPOSIT",
"timeBased": {
"intervalValue": 60,
"intervalUnit": "MINUTES",
"balanceThreshold": "1000"
},
"assetId": "USDC_ETH"
}
'
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
automationType: 'USDC_GATEWAY_DEPOSIT',
timeBased: {intervalValue: 60, intervalUnit: 'MINUTES', balanceThreshold: '1000'},
assetId: 'USDC_ETH'
})
};

fetch('https://api.fireblocks.io/v1/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'automationType' => 'USDC_GATEWAY_DEPOSIT',
'timeBased' => [
'intervalValue' => 60,
'intervalUnit' => 'MINUTES',
'balanceThreshold' => '1000'
],
'assetId' => 'USDC_ETH'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.fireblocks.io/v1/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation"

payload := strings.NewReader("{\n \"automationType\": \"USDC_GATEWAY_DEPOSIT\",\n \"timeBased\": {\n \"intervalValue\": 60,\n \"intervalUnit\": \"MINUTES\",\n \"balanceThreshold\": \"1000\"\n },\n \"assetId\": \"USDC_ETH\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://api.fireblocks.io/v1/vault/accounts/{vaultAccountId}/virtual_asset_wallet/usdc_gateway/deposit_automation")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"automationType\": \"USDC_GATEWAY_DEPOSIT\",\n \"timeBased\": {\n \"intervalValue\": 60,\n \"intervalUnit\": \"MINUTES\",\n \"balanceThreshold\": \"1000\"\n },\n \"assetId\": \"USDC_ETH\"\n}"

response = http.request(request)
puts response.read_body
{
  "automationId": "b68a9e08-b59c-4ff9-893f-52d4f78c21e6"
}
{
"message": "<string>",
"code": 123
}

Headers

Idempotency-Key
string

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Path Parameters

vaultAccountId
string<numeric>
required

The ID of the vault account

Body

application/json

Request body for setting up a USDC Gateway deposit automation for a vault account.

automationType
enum<string>
required

The type of automation to configure.

Available options:
USDC_GATEWAY_DEPOSIT
Example:

"USDC_GATEWAY_DEPOSIT"

timeBased
object
required

The schedule for this deposit automation.

assetId
string

The Fireblocks asset ID this automation applies to. Omit to cover all supported USDC Gateway assets.

Example:

"USDC_ETH"

Response

Deposit automation created

automationId
string<uuid>
required

The ID of the newly created deposit automation.

Example:

"b68a9e08-b59c-4ff9-893f-52d4f78c21e6"