Rakurai (1.0.0)

Rakurai API — HTTP API for Rakurai liquid and native staking, node scheduler downloads, and validator metrics.

Unsigned transactions: Stake/unstake routes return an unsigned transaction (txn as hex). Sign with the appropriate wallet keypair, then submit with POST /api/v1/send-txn.

GET with JSON body: Some validator routes expect a JSON body on GET (as implemented). Use a client that can send a body on GET.

Download OpenAPI description
Languages
Servers
Production
https://api.rakurai.io/

Native

Native stake and unstake (unsigned transactions).

Operations

Liquid

Liquid stake, unstake, and Jupiter unstake (unsigned transactions).

Operations

Autocompound

Enable or disable auto-compounding for native stake accounts (unsigned transactions).

Operations

send_transaction

Broadcast a signed transaction on-chain.

Operations

Rakurai Scheduler

List scheduler versions and download the scheduler archive (authenticated).

Download with curl using -o to save the .tar.gz, and --fail-with-body || cat <file> so HTTP errors return JSON instead of a corrupt archive.

Operations

List available versions

Request

Returns scheduler build version strings per supported OS.

Query
folderstring

Optional filter for folder/OS naming (implementation-specific).

curl -i -X GET \
  'https://api.rakurai.io/api/v1/scheduler/versions?folder=string'

Responses

Array of OS buckets with version lists.

Bodyapplication/jsonArray [
osstringrequired

OS folder name (e.g. ubuntu_22_04).

mainnet_and_testnetArray of stringsrequired

Builds for mainnet and testnet.

testnet_onlyArray of stringsrequired

Testnet-only builds for this OS.

]
Response
application/json
[ { "os": "ubuntu_22_04", "mainnet_and_testnet": [], "testnet_only": [] } ]

Download scheduler binary

Request

Requires a verified activation_account, signature, version, and os (from GET /api/v1/scheduler/versions). 200 returns the archive as binary (e.g. .tar.gz). Errors return JSON {"error":"..."}.

Use the curl command below to download binary in your system.

Use -o so the response is written to a file, and --fail-with-body || cat <file> so failed requests print the JSON error instead of leaving a non-archive file that breaks at extract/runtime:

curl -o rakurai-scheduler.tar.gz https://api.rakurai.io/api/v1/downloads/scheduler \
  -H "Content-Type: application/json" \
  -d '{
    "activation_account": "<activation_account>",
    "signature": "<signature>",
    "version": "v3.0.11-rakurai.0.b",
    "os": "ubuntu_22_04"
  }' \
  --fail-with-body || cat rakurai-scheduler.tar.gz
Bodyapplication/jsonrequired
activation_accountstringrequired
signaturestringrequired
versionstringrequired
osstringrequired
curl -i -X POST \
  https://api.rakurai.io/api/v1/downloads/scheduler \
  -H 'Content-Type: application/json' \
  -d '{
    "activation_account": "Act1v4t10nA1B2c3D4e5F6g7H8i9J0k1L2m3N4o5P6q",
    "signature": "5Z7b8y9…",
    "version": "v1.2.3-rakurai.1",
    "os": "ubuntu_22_04"
  }'

Responses

Binary stream.

Body
string(binary)
Response
application/json
{ "error": "string" }

Validator Stats

Validators list, TVL, APY, TPS, rewards, overview.

Operations