Typescript (SDK)
import { RaijinLabsLucidAi } from "raijin-labs-lucid-ai";
const raijinLabsLucidAi = new RaijinLabsLucidAi();
async function run() {
const result = await raijinLabsLucidAi.shares.lucidTriggerRevenueAirdrop({
passportId: "<id>",
body: {
amountLamports: 453116,
},
});
console.log(result);
}
run();curl --request POST \
--url http://localhost:3001/v1/passports/{passport_id}/token/airdrop \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amountLamports": 2
}
'import requests
url = "http://localhost:3001/v1/passports/{passport_id}/token/airdrop"
payload = { "amountLamports": 2 }
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({amountLamports: 2})
};
fetch('http://localhost:3001/v1/passports/{passport_id}/token/airdrop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/v1/passports/{passport_id}/token/airdrop",
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([
'amountLamports' => 2
]),
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 := "http://localhost:3001/v1/passports/{passport_id}/token/airdrop"
payload := strings.NewReader("{\n \"amountLamports\": 2\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("http://localhost:3001/v1/passports/{passport_id}/token/airdrop")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amountLamports\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/v1/passports/{passport_id}/token/airdrop")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amountLamports\": 2\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"passportId": "<string>",
"tokenMint": "<string>",
"totalDistributed": 123,
"holders": 123,
"distributions": [
{
"holder": "<string>",
"balance": 123,
"share": 123,
"amountLamports": 123
}
],
"txSignatures": [
"<string>"
]
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}Shares
Trigger revenue airdrop for share token holders
Snapshot all current share token holders and distribute accumulated SOL revenue proportionally based on each holder’s token balance. Requires the passport to have a launched share token with accumulated revenue.
POST
/
v1
/
passports
/
{passport_id}
/
token
/
airdrop
Typescript (SDK)
import { RaijinLabsLucidAi } from "raijin-labs-lucid-ai";
const raijinLabsLucidAi = new RaijinLabsLucidAi();
async function run() {
const result = await raijinLabsLucidAi.shares.lucidTriggerRevenueAirdrop({
passportId: "<id>",
body: {
amountLamports: 453116,
},
});
console.log(result);
}
run();curl --request POST \
--url http://localhost:3001/v1/passports/{passport_id}/token/airdrop \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amountLamports": 2
}
'import requests
url = "http://localhost:3001/v1/passports/{passport_id}/token/airdrop"
payload = { "amountLamports": 2 }
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({amountLamports: 2})
};
fetch('http://localhost:3001/v1/passports/{passport_id}/token/airdrop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/v1/passports/{passport_id}/token/airdrop",
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([
'amountLamports' => 2
]),
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 := "http://localhost:3001/v1/passports/{passport_id}/token/airdrop"
payload := strings.NewReader("{\n \"amountLamports\": 2\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("http://localhost:3001/v1/passports/{passport_id}/token/airdrop")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amountLamports\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/v1/passports/{passport_id}/token/airdrop")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amountLamports\": 2\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"passportId": "<string>",
"tokenMint": "<string>",
"totalDistributed": 123,
"holders": 123,
"distributions": [
{
"holder": "<string>",
"balance": 123,
"share": 123,
"amountLamports": 123
}
],
"txSignatures": [
"<string>"
]
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}{
"success": true,
"error": "<string>",
"message": "<string>",
"error_code": "<string>",
"details": "<unknown>"
}Authorizations
Lucid API key (lk_live_... or lk_test_...)
Path Parameters
Passport identifier for revenue airdrop
Body
application/json
SOL amount in lamports to distribute
Required range:
x >= 1⌘I
.png?fit=max&auto=format&n=VsjUqn6fLqEhBiuI&q=85&s=8b4c7e6431e9a6af1ef23b77bb4ff5fd)
.png?fit=max&auto=format&n=VsjUqn6fLqEhBiuI&q=85&s=d5651a45e4bfbabc33f74e146af3f94a)