curl --request POST \
--url https://api.endaoment.org/v1/recommendations/grant \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"purpose": "General operating support",
"amountUsdc": "100000000",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offsetFee": true,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recommender": "John Doe",
"specialInstructions": "Funds must be used for the specific project X.",
"subprojectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shareMyEmail": false,
"collaboratingFundId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.endaoment.org/v1/recommendations/grant"
payload = {
"purpose": "General operating support",
"amountUsdc": "100000000",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offsetFee": True,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recommender": "John Doe",
"specialInstructions": "Funds must be used for the specific project X.",
"subprojectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shareMyEmail": False,
"collaboratingFundId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
purpose: 'General operating support',
amountUsdc: '100000000',
orgId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
offsetFee: true,
uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
recommender: 'John Doe',
specialInstructions: 'Funds must be used for the specific project X.',
subprojectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
shareMyEmail: false,
collaboratingFundId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.endaoment.org/v1/recommendations/grant', 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.endaoment.org/v1/recommendations/grant",
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([
'purpose' => 'General operating support',
'amountUsdc' => '100000000',
'orgId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'offsetFee' => true,
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'recommender' => 'John Doe',
'specialInstructions' => 'Funds must be used for the specific project X.',
'subprojectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'shareMyEmail' => false,
'collaboratingFundId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.endaoment.org/v1/recommendations/grant"
payload := strings.NewReader("{\n \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.endaoment.org/v1/recommendations/grant")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.endaoment.org/v1/recommendations/grant")
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 \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000"
}Create grant recommendation
Creates a recommendation for donating cryptocurrency.
curl --request POST \
--url https://api.endaoment.org/v1/recommendations/grant \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"purpose": "General operating support",
"amountUsdc": "100000000",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offsetFee": true,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recommender": "John Doe",
"specialInstructions": "Funds must be used for the specific project X.",
"subprojectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shareMyEmail": false,
"collaboratingFundId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.endaoment.org/v1/recommendations/grant"
payload = {
"purpose": "General operating support",
"amountUsdc": "100000000",
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offsetFee": True,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recommender": "John Doe",
"specialInstructions": "Funds must be used for the specific project X.",
"subprojectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shareMyEmail": False,
"collaboratingFundId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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({
purpose: 'General operating support',
amountUsdc: '100000000',
orgId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
offsetFee: true,
uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
recommender: 'John Doe',
specialInstructions: 'Funds must be used for the specific project X.',
subprojectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
shareMyEmail: false,
collaboratingFundId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.endaoment.org/v1/recommendations/grant', 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.endaoment.org/v1/recommendations/grant",
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([
'purpose' => 'General operating support',
'amountUsdc' => '100000000',
'orgId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'offsetFee' => true,
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'recommender' => 'John Doe',
'specialInstructions' => 'Funds must be used for the specific project X.',
'subprojectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'shareMyEmail' => false,
'collaboratingFundId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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.endaoment.org/v1/recommendations/grant"
payload := strings.NewReader("{\n \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.endaoment.org/v1/recommendations/grant")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.endaoment.org/v1/recommendations/grant")
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 \"purpose\": \"General operating support\",\n \"amountUsdc\": \"100000000\",\n \"orgId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"offsetFee\": true,\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recommender\": \"John Doe\",\n \"specialInstructions\": \"Funds must be used for the specific project X.\",\n \"subprojectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"shareMyEmail\": false,\n \"collaboratingFundId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Public declaration of this grant's purpose
511"General operating support"
The amount in USDC for the recommendation, in the smallest currency unit (1000000 = 1 USD)
"100000000"
ID of the destination organization
Whether the advisor wants to offset the grant fee
true
Unique identifier for the recommendation. Generated on the client side to ensure idempotency.
The name of the grant recommender
"John Doe"
An optional, binding instruction for the use of the transferred assets. The receiving org must accept these instructions.
"Funds must be used for the specific project X."
ID of the Subproject targeted by the grant. Must be sponsored by the receiving organization.
Whether the donor wants to share their email with the org
false
ID of the fund that the advisor is collaborating with
Response
Donation recommendation successfully created
The recommendation id
"123e4567-e89b-12d3-a456-426614174000"
Was this page helpful?