stellar-skills
π―Skillfrom cuyoconnect/stellar
Enables comprehensive Stellar blockchain development with Soroban smart contracts, SDKs, wallets, and ecosystem tools for building decentralized applications.
Installation
cargo install scout-auditSkill Details
Stellar blockchain and Soroban smart contract development. SDKs, wallets, DeFi protocols, and ecosystem tools. Use when building dApps on Stellar, writing Soroban contracts, integrating wallets, or working with Horizon/Soroban RPC.
Overview
# Stellar & Soroban Development
Quick Reference
Networks
| Network | Horizon | Soroban RPC | Explorer |
|---------|---------|-------------|----------|
| Mainnet | horizon.stellar.org | soroban-rpc.mainnet.stellar.gateway.fm | stellar.expert |
| Testnet | horizon-testnet.stellar.org | soroban-testnet.stellar.org | stellar.expert/explorer/testnet |
| Futurenet | horizon-futurenet.stellar.org | rpc-futurenet.stellar.org | stellarchain.io |
Faucet (Testnet)
```bash
curl "https://friendbot.stellar.org?addr=YOUR_PUBLIC_KEY"
```
---
CLIs & Scaffolds
| Tool | Use |
|------|-----|
| stellar CLI | Build, deploy, invoke contracts, generate TS bindings |
| Scaffold Stellar | Full project (Soroban + frontend + local network) β scaffoldstellar.org |
| Stellar Lab | Web tool for network experiments β lab.stellar.org |
---
SDKs
| Library | Purpose |
|---------|---------|
| @stellar/stellar-sdk | Official JS/TS SDK (classic + Soroban) |
| soroban-sdk (Rust) | Write Soroban smart contracts |
| @stellar/freighter-api | Direct Freighter wallet integration |
| @creit.tech/stellar-wallets-kit | Multi-wallet abstraction β stellarwalletskit.dev |
---
Workflows
Workflow 1: Connect Wallet (Stellar Wallets Kit)
```typescript
import { StellarWalletsKit, WalletNetwork, allowAllModules } from '@creit.tech/stellar-wallets-kit';
const kit = new StellarWalletsKit({
network: WalletNetwork.TESTNET,
selectedWalletId: 'freighter',
modules: allowAllModules(),
});
// Open modal to select wallet
await kit.openModal({
onWalletSelected: async (option) => {
kit.setWallet(option.id);
const { address } = await kit.getAddress();
console.log('Connected:', address);
}
});
```
Workflow 2: Deploy Contract (stellar CLI)
```bash
# Build contract
stellar contract build
# Deploy to testnet
stellar contract deploy \
--wasm target/wasm32-unknown-unknown/release/my_contract.wasm \
--source alice \
--network testnet
# Generate TypeScript bindings
stellar contract bindings typescript \
--contract-id CXXXXX... \
--output-dir ./src/contracts/my-contract \
--network testnet
```
Workflow 3: Invoke Contract
```typescript
import * as StellarSdk from '@stellar/stellar-sdk';
const server = new StellarSdk.SorobanRpc.Server('https://soroban-testnet.stellar.org');
const contract = new StellarSdk.Contract('CXXXXX...');
// Build transaction
const tx = new StellarSdk.TransactionBuilder(account, { fee: '100' })
.addOperation(contract.call('method_name', ...args))
.setTimeout(30)
.build();
// Simulate
const simulated = await server.simulateTransaction(tx);
// Sign with wallet kit
const { signedTxXdr } = await kit.signTransaction(tx.toXDR());
// Submit
const result = await server.sendTransaction(
StellarSdk.TransactionBuilder.fromXDR(signedTxXdr, StellarSdk.Networks.TESTNET)
);
```
Workflow 4: Sign & Submit with Wallet Kit
```typescript
// For Soroban transactions that need simulation
const signedTx = await kit.signTransaction(tx.toXDR(), {
networkPassphrase: StellarSdk.Networks.TESTNET,
});
// Submit and poll for result
const sendResponse = await server.sendTransaction(
StellarSdk.TransactionBuilder.fromXDR(signedTx.signedTxXdr, StellarSdk.Networks.TESTNET)
);
if (sendResponse.status === 'PENDING') {
let result = await server.getTransaction(sendResponse.hash);
while (result.status === 'NOT_FOUND') {
await new Promise(r => setTimeout(r, 1000));
result = await server.getTransaction(sendResponse.hash);
}
}
```
---
OpenZeppelin Contracts (Soroban)
Audited contracts. Check before writing custom logic.
| Category | Includes |
|----------|----------|
| Tokens | Fungible, NFT, RWAs, Stablecoin, Vault (SEP-56) |
| Access | Ownable, Role-Based Access Control |
| Utils | Pausable, Upgradeable, Merkle Distributor |
Wizard: https://wizard.openzeppelin.com
Docs: https://docs.openzeppelin.com/stellar-contracts
---
Security
| Tool | Use |
|------|-----|
| Scout Audit | Static analysis for Soroban β github.com/CoinFabrik/scout-soroban |
| scout-actions | GitHub Action for PR checks |
```bash
# Run Scout locally
cargo install scout-audit
scout-audit --path ./contracts
```
---
Ecosystem
DeFi & Protocols
| Project | What |
|---------|------|
| Soroswap | AMM/DEX β soroswap.finance |
| Defindex | Yield aggregator β defindex.io |
| Allbridge | Cross-chain bridge β allbridge.io |
| Reflector | Oracles (SEP-40) β reflector.network |
Infrastructure & Services
| Project | What |
|---------|------|
| Trustless Work | Programmable escrows β trustlesswork.com |
| Mercury | Custom indexer (Retroshades, Zephyr) β mercurydata.app |
| Horizon API | Official API for network queries |
| Anchor Platform | On/off-ramps (SEP-10, SEP-24, SEP-31) |
| Stellar Disbursement Platform | Mass payouts infrastructure |
| MoneyGram Ramps | USDC on/off-ramp at retail locations |
Block Explorers
| Explorer | Networks |
|----------|----------|
| StellarExpert | Mainnet, Testnet β stellar.expert |
| StellarChain | Mainnet, Testnet, Futurenet β stellarchain.io |
| Stellar Explorer | All networks |
RPC Providers
| Provider | Notes |
|----------|-------|
| SDF (public) | Default, rate limited |
| Validation Cloud | Free + premium |
| Ankr | Horizon + Soroban RPC |
| QuickNode | Performance tiers |
---
SEPs (Stellar Ecosystem Proposals)
| SEP | Purpose |
|-----|---------|
| SEP-10 | Web Authentication |
| SEP-24 | Interactive deposits/withdrawals |
| SEP-41 | Soroban token interface |
| SEP-56 | Tokenized Vault Standard |
All SEPs: github.com/stellar/stellar-protocol/tree/master/ecosystem
---
Decision Framework
```
What are you building?
β
ββ Smart Contract (Soroban)
β ββ Token? β Check OpenZeppelin first
β ββ DeFi? β Integrate with Soroswap/Defindex
β ββ Custom logic β Use soroban-sdk + Scout audit
β
ββ Frontend dApp
β ββ Wallet connection β Stellar Wallets Kit
β ββ Contract interaction β @stellar/stellar-sdk
β ββ Full scaffold β Scaffold Stellar
β
ββ Backend/Indexing
β ββ Simple queries β Horizon API
β ββ Custom indexing β Mercury
β ββ Real-time β Soroban RPC subscriptions
β
ββ Payments/Ramps
ββ On/off-ramp β Anchor Platform
ββ Mass payouts β Stellar Disbursement Platform
```
---
Docs
- https://developers.stellar.org
- https://soroban.stellar.org/docs
- https://stellarwalletskit.dev
Principle: Check for existing tools/protocols before writing custom code.