Onboard the organization for MicroVaults
curl --request POST \
--url https://sandbox.groundtech.co/v2/microvaults/onboarding \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.groundtech.co/v2/microvaults/onboarding"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.groundtech.co/v2/microvaults/onboarding', 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/microvaults/onboarding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/microvaults/onboarding"
req, _ := http.NewRequest("POST", 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.post("https://sandbox.groundtech.co/v2/microvaults/onboarding")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.groundtech.co/v2/microvaults/onboarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "active",
"customerRecordId": "8ef3d494-7b6f-4df4-9d45-09f31196368f",
"customerId": "190025120042021478378651368413409605263",
"authorityAddress": "0x1111111111111111111111111111111111111111",
"chainId": 11155111,
"policyRegistryAddress": "0x6666666666666666666666666666666666666666"
}{
"error": "microvaults_not_enabled",
"message": "MicroVaults are not enabled for this organization"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "microvaults_not_enabled",
"message": "MicroVaults are not enabled for this organization"
}Onboarding and Authority
Onboard an organization
Creates or resumes the Turnkey authority required to manage MicroVaults. This request has no body.
POST
/
v2
/
microvaults
/
onboarding
Onboard the organization for MicroVaults
curl --request POST \
--url https://sandbox.groundtech.co/v2/microvaults/onboarding \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.groundtech.co/v2/microvaults/onboarding"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.groundtech.co/v2/microvaults/onboarding', 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/microvaults/onboarding",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/microvaults/onboarding"
req, _ := http.NewRequest("POST", 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.post("https://sandbox.groundtech.co/v2/microvaults/onboarding")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.groundtech.co/v2/microvaults/onboarding")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "active",
"customerRecordId": "8ef3d494-7b6f-4df4-9d45-09f31196368f",
"customerId": "190025120042021478378651368413409605263",
"authorityAddress": "0x1111111111111111111111111111111111111111",
"chainId": 11155111,
"policyRegistryAddress": "0x6666666666666666666666666666666666666666"
}{
"error": "microvaults_not_enabled",
"message": "MicroVaults are not enabled for this organization"
}{
"error": "Unauthenticated request",
"message": "Missing or invalid bearer token"
}{
"error": "microvaults_not_enabled",
"message": "MicroVaults are not enabled for this organization"
}Create or resume the authority required to manage your organization’s MicroVaults.
MicroVaults are in private preview for enabled sandbox organizations on Ethereum Sepolia.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Current onboarding state.
Available options:
provisioning, registering, activating, active Pattern:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$Example:
"8f4c52d7-62ab-4db9-a964-92f481f6b851"
Unsigned base-10 integer string. Asset and share amounts use token base units.
Pattern:
^(0|[1-9][0-9]*)$Example:
"1000000"
Deployed nonzero EVM contract address, or null while deployment is pending.
Required string length:
42Pattern:
^0x(?!0{40}$)[0-9a-fA-F]{40}$Example:
"0x7c4a1cb5a3d5c3c4e019c3f6ab29a0f98c21b814"
Example:
11155111
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"