Allow an address on a gVault
curl --request PUT \
--url https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}', 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://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "confirmed"
}{
"status": "submitted",
"transactionHash": "0xabababababababababababababababababababababababababababababababab"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "Service temporarily unavailable",
"code": "service_temporarily_unavailable",
"retryable": true
}Direct Access
Add an address to a gVault allowlist
PUT
/
v2
/
gvaults
/
{gVaultId}
/
allowlist
/
{address}
Allow an address on a gVault
curl --request PUT \
--url https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}', 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://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.groundtech.co/v2/gvaults/{gVaultId}/allowlist/{address}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "confirmed"
}{
"status": "submitted",
"transactionHash": "0xabababababababababababababababababababababababababababababababab"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "<string>",
"code": "validation_error"
}{
"error": "Service temporarily unavailable",
"code": "service_temporarily_unavailable",
"retryable": true
}Grants an EOA, multisig, or contract permission to deposit into an existing
Ground gVault. Call this from your backend and keep the API key on the server.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Existing gVault ID. Existing gVault ID returned by the gVault yield-source catalogue.
Available options:
ground-ustb-vault Example:
"ground-ustb-vault"
Nonzero EVM EOA or contract address. Valid nonzero EVM EOA or contract address. Mixed-case values must use a valid EIP-55 checksum.
Required string length:
42Pattern:
^0x(?!0{40}$)[0-9a-fA-F]{40}$Example:
"0x3bf25a73a1f1033c2d50ac65f3c9d6a44123db81"
Response
Already confirmed.