Deposit USDC into vault
curl --request POST \
--url https://api.totalis.trade/v1/vault/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 500000
}
'import requests
url = "https://api.totalis.trade/v1/vault/deposit"
payload = { "amount": 500000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 500000})
};
fetch('https://api.totalis.trade/v1/vault/deposit', 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.totalis.trade/v1/vault/deposit",
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([
'amount' => 500000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.totalis.trade/v1/vault/deposit"
payload := strings.NewReader("{\n \"amount\": 500000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.totalis.trade/v1/vault/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 500000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.totalis.trade/v1/vault/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 500000\n}"
response = http.request(request)
puts response.read_body{
"data": {
"tx_signature": "<string>",
"amount": 123,
"status": "completed"
}
}{
"data": {
"tx_signature": "<string>",
"amount": 123,
"status": "completed"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}Funds and vault
Deposit into the vault
Move USDC from your wallet into your on-chain vault. Optional: trading and quoting both draw on wallet USDC too.
POST
/
v1
/
vault
/
deposit
Deposit USDC into vault
curl --request POST \
--url https://api.totalis.trade/v1/vault/deposit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 500000
}
'import requests
url = "https://api.totalis.trade/v1/vault/deposit"
payload = { "amount": 500000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 500000})
};
fetch('https://api.totalis.trade/v1/vault/deposit', 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.totalis.trade/v1/vault/deposit",
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([
'amount' => 500000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.totalis.trade/v1/vault/deposit"
payload := strings.NewReader("{\n \"amount\": 500000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.totalis.trade/v1/vault/deposit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 500000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.totalis.trade/v1/vault/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 500000\n}"
response = http.request(request)
puts response.read_body{
"data": {
"tx_signature": "<string>",
"amount": 123,
"status": "completed"
}
}{
"data": {
"tx_signature": "<string>",
"amount": 123,
"status": "completed"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": {},
"retry_after": 123
}
}You do not need this call to trade or to quote. Placing a parlay moves the stake from your wallet
into the vault in the same step. Maker quotes are backed by wallet USDC plus vault free balance.Your vault is created with your first filled position, as bettor or maker. Until then this call
returns
404.Needs the funds:deposit scope and trading enabled. Limited to 10 calls per minute per account.Authorizations
PrivyJWTApiKey
Privy JWT issued to the web dashboard. Sent as Authorization: Bearer <jwt>. The Privy session signer underpins all wallet-signed actions.
Body
application/json
USDC amount to deposit (max 1,000,000)
Required range:
0 < x <= 1000000Response
Deposit finalized and reflected in the database mirror
Response for vault deposit/withdraw operations.
Show child attributes
Show child attributes
Was this page helpful?

