Python (SDK)
from compass_api_sdk import CompassAPI, models
with CompassAPI(
api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:
res = compass_api.sky.sky_deposit(amount=0.2, sender="0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D", chain=models.SkyDepositRequestChain.ETHEREUM, estimate_gas=True)
# Handle response
print(res)import { CompassApiSDK } from "@compass-labs/api-sdk";
const compassApiSDK = new CompassApiSDK({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await compassApiSDK.sky.skyDeposit({
amount: 0.2,
chain: "ethereum",
sender: "0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D",
});
console.log(result);
}
run();curl --request POST \
--url https://api.compasslabs.ai/v1/sky/deposit \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"chain": "ethereum",
"sender": "0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D",
"amount": 0.2
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain: 'ethereum',
sender: '0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D',
amount: 0.2
})
};
fetch('https://api.compasslabs.ai/v1/sky/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.compasslabs.ai/v1/sky/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([
'chain' => 'ethereum',
'sender' => '0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D',
'amount' => 0.2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.compasslabs.ai/v1/sky/deposit"
payload := strings.NewReader("{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.compasslabs.ai/v1/sky/deposit")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.compasslabs.ai/v1/sky/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}"
response = http.request(request)
puts response.read_body{
"transaction": {
"chainId": "0x2105",
"data": "0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000675f4a3d",
"from": "0x4A83b4413CF41C3244027e1590E35a0F48403F0c",
"gas": "0x7a120",
"maxFeePerGas": "0x59682f00",
"maxPriorityFeePerGas": "0x3b9aca00",
"nonce": "0x5",
"to": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
"value": "0x0"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Sky
Deposit USDS
Deposit USDS to earn yield. Deposited USDS is represented as sUSDS.
Allowance must be set on USDS contract for UsdsVault.
There are no fees.
Required Allowances
In order to make this transaction, token allowances need to be set for the following contracts.
SkyUsdsVault
POST
/
v1
/
sky
/
deposit
Python (SDK)
from compass_api_sdk import CompassAPI, models
with CompassAPI(
api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:
res = compass_api.sky.sky_deposit(amount=0.2, sender="0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D", chain=models.SkyDepositRequestChain.ETHEREUM, estimate_gas=True)
# Handle response
print(res)import { CompassApiSDK } from "@compass-labs/api-sdk";
const compassApiSDK = new CompassApiSDK({
apiKeyAuth: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await compassApiSDK.sky.skyDeposit({
amount: 0.2,
chain: "ethereum",
sender: "0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D",
});
console.log(result);
}
run();curl --request POST \
--url https://api.compasslabs.ai/v1/sky/deposit \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"chain": "ethereum",
"sender": "0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D",
"amount": 0.2
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain: 'ethereum',
sender: '0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D',
amount: 0.2
})
};
fetch('https://api.compasslabs.ai/v1/sky/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.compasslabs.ai/v1/sky/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([
'chain' => 'ethereum',
'sender' => '0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D',
'amount' => 0.2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.compasslabs.ai/v1/sky/deposit"
payload := strings.NewReader("{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.compasslabs.ai/v1/sky/deposit")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.compasslabs.ai/v1/sky/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chain\": \"ethereum\",\n \"sender\": \"0x7F6063e2237a6b2aE32eDc48EF9cD1B2A8F3aD5D\",\n \"amount\": 0.2\n}"
response = http.request(request)
puts response.read_body{
"transaction": {
"chainId": "0x2105",
"data": "0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000675f4a3d",
"from": "0x4A83b4413CF41C3244027e1590E35a0F48403F0c",
"gas": "0x7a120",
"maxFeePerGas": "0x59682f00",
"maxPriorityFeePerGas": "0x3b9aca00",
"nonce": "0x5",
"to": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
"value": "0x0"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Body
application/json
The amount of USDS you would like to deposit for sUSDS to earn yield.
Required range:
x > 0Example:
1.5
The address of the transaction sender.
Example:
"0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B"
Allowed value:
"SKY_DEPOSIT"The address which will receive the sUSDS. Defaults to the sender.
Available options:
ethereum Example:
"ethereum"
Determines whether to estimate gas costs for transactions, also verifying that the transaction can be successfully executed.
Response
Successful Response
The unsigned transaction data. User must sign and broadcast to network.
- UnsignedTransaction
- UserOperationResponse
Show child attributes
Show child attributes
Example:
{
"chainId": "0x2105",
"data": "0x1688f0b900000000000000000000000029fcb43b46531bca003ddc8fcb67ffe91900c762000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000675f4a3d",
"from": "0x4A83b4413CF41C3244027e1590E35a0F48403F0c",
"gas": "0x7a120",
"maxFeePerGas": "0x59682f00",
"maxPriorityFeePerGas": "0x3b9aca00",
"nonce": "0x5",
"to": "0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",
"value": "0x0"
}
Was this page helpful?
⌘I