TESTNET TESTNET SIM BLOCK EPOCH VALIDATORS
DevelopersDéveloppeurs

Build on CURS3D. Bâtissez sur CURS3D.

SDKs in three languages, an OpenAPI 3.1 reference for the 27‑endpoint HTTP API, and runnable examples. Deploy a smart contract, send a transaction, subscribe to events. Des SDKs dans trois langages, une référence OpenAPI 3.1 pour l'API HTTP à 27 endpoints, et des exemples exécutables. Déployez un smart contract, envoyez une transaction, abonnez-vous aux événements.

Three SDKs. Same API, native ergonomics. Trois SDKs. Même API, ergonomie native.

SDK 01
Rust
curs3d-contract · wasm32-unknown-unknown

Write smart contracts that compile to WASM. Bundles a heap-base bump allocator, a panic handler, and host-call bindings. Five reference examples: counter, ERC-20, multisig, NFT, vesting.

Écrivez des smart contracts qui compilent vers WASM. Inclut un allocateur bump basé sur le heap, un handler de panic, et les bindings d'appels système. Cinq exemples : counter, ERC-20, multisig, NFT, vesting.

GitHub
SDK 02
JavaScript / TypeScript
@curs3d/sdk · ESM · ethers-style

For browsers and Node.js. Wagmi/ethers compatibility through the Ethereum-compatible JSON-RPC subset. Native Dilithium-L5 signing for canonical CURS3D transactions.

Pour navigateurs et Node.js. Compatible wagmi / ethers via le sous-ensemble JSON-RPC compatible Ethereum. Signature native Dilithium-L5 pour les transactions canoniques CURS3D.

GitHub
SDK 03
Python
curs3d-sdk · async-first

Async client built on httpx. Ideal for indexers, analytics, and trading bots. Direct binding to the HTTP API and the WebSocket event feed.

Client async basé sur httpx. Idéal pour les indexers, analytics et bots de trading. Binding direct vers l'API HTTP et le flux WebSocket.

GitHub

From zero to a signed transaction. De zéro à une transaction signée.

Rust

cargo run --example transfer
use curs3d_sdk::{Client, KeyPair};

async fn main() -> Result<()> {
  let client = Client::connect("https://api.curs3d.fr").await?;
  let kp = KeyPair::load("wallet.json", "password")?;

  let tx = client.tx()
    .transfer("CUR…", 100_000_000) // 100 CUR in microtokens
    .sign(&kp)
    .broadcast().await?;

  println!("hash = {}", tx.hash);
  Ok(())
}

JavaScript

node transfer.mjs
import { Client, dilithium } from "@curs3d/sdk";

const c = await Client.connect("https://api.curs3d.fr");
const kp = await dilithium.loadWallet("./wallet.json", process.env.PASS);

const tx = await c.tx
  .transfer("CUR…", 100_000_000n)
  .sign(kp)
  .broadcast();

console.log("hash =", tx.hash);

Python

python transfer.py
import asyncio
from curs3d import Client, load_wallet

async def main():
    c = await Client.connect("https://api.curs3d.fr")
    kp = load_wallet("wallet.json", "password")

    tx = await (
        c.tx
        .transfer("CUR…", 100_000_000)
        .sign(kp)
        .broadcast()
    )
    print("hash =", tx.hash)

asyncio.run(main())

Everything else at hand. Tout le reste à portée.

/api
OpenAPI 3.1 reference

Interactive Stoplight Elements rendering of all 27 HTTP endpoints, the WebSocket event feed, and the Ethereum-compatible JSON-RPC subset. Click any operation for live cURL examples.

Rendu interactif Stoplight Elements de tous les 27 endpoints HTTP, du flux WebSocket et du sous-ensemble JSON-RPC compatible Ethereum. Cliquez sur une opération pour des exemples cURL.

Explore API
/examples
Step-by-step examplesExemples pas à pas

From running a node to deploying a CUR-20 token, sending tokens, listening to WebSocket events, and using all three SDKs.

Du lancement d'un node au déploiement d'un token CUR-20, envoi de tokens, écoute d'événements WebSocket, et usage des trois SDKs.

OpenOuvrir
/faucet
Testnet faucetFaucet testnet

Get 100 CUR for testing. One request per address and per IP every hour. Captcha required.

Recevez 100 CUR pour tester. Une requête par adresse et par IP, toutes les heures. Captcha requis.

Get tokensRecevoir
/run-validator
Run a validatorLancer un validateur

Operate a node in 10 steps: install, generate genesis-aware keys, peer with the bootnode, and observe finalisation.

Opérez un node en 10 étapes : installer, générer des clés conformes au genesis, peering avec le bootnode, observer la finalité.

Open guideOuvrir le guide
github
Source code

Apache-2.0. Rust nightly. ~31 k LOC across consensus, crypto, networking, storage, VM and API. Issues and PRs welcome.

Apache-2.0. Rust nightly. ~31 k LOC répartis sur consensus, crypto, networking, storage, VM et API. Issues et PRs bienvenues.

GitHub
/community
Discord & communityDiscord & communauté

Real-time chat with maintainers and other validators. Discord invite, X/Twitter, newsletter and brand assets.

Discussion en temps réel avec mainteneurs et validateurs. Invitation Discord, X/Twitter, newsletter et brand assets.

JoinRejoindre
// SHIP SOMETHING // LIVREZ QUELQUE CHOSE

Read the API.
Pick an SDK. Send your first transaction.
Lisez l'API.
Choisissez un SDK. Envoyez votre première transaction.