Get up and running with AnchorKit on Stellar testnet in minutes.
- Rust toolchain (
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) - Soroban CLI (
cargo install --locked soroban-cli)
cargo build --releaseThe fastest way to get started is with the minimal reference config:
cp configs/testnet-example.json configs/my-anchor.jsonOpen configs/my-anchor.json and replace the placeholder values:
| Field | What to change |
|---|---|
contract.name |
Your anchor name (lowercase, hyphens only) |
attestors[0].address |
Your attestor's Stellar public key (starts with G) |
attestors[0].endpoint |
Your attestor's HTTPS endpoint URL |
Contract interactions are performed through Soroban transactions, not direct JavaScript session helpers. Use the Soroban CLI or the Stellar JavaScript SDK's contract invocation APIs when you need to call the contract.
cargo run --bin anchorkit -- validate configs/my-anchor.jsonExpected output:
✔ configs/my-anchor.json: valid JSON
For strict schema validation (field lengths, patterns, enums):
python validate_config.pycargo run --bin anchorkit -- doctorcargo run --bin anchorkit -- register \
--address GYOUR_ATTESTOR_ADDRESS_HERE \
--services deposits,withdrawals,kyc \
--endpoint https://your-anchor.example.comThe minimal config only requires two top-level sections:
{
"contract": {
"name": "my-anchor", // lowercase alphanumeric + hyphens
"version": "1.0.0", // semver
"network": "stellar-testnet" // stellar-testnet | stellar-mainnet | stellar-futurenet
},
"attestors": {
"registry": [
{
"name": "kyc-provider",
"address": "G...", // 56-char Stellar public key
"endpoint": "https://...",
"role": "kyc-issuer", // see valid roles below
"enabled": true
}
]
}
}Valid attestor roles: kyc-issuer, transfer-verifier, compliance-approver, rate-provider, attestor
See configs/testnet-example.json for the annotated minimal config, or the more complete examples:
configs/fiat-on-off-ramp.json— fiat deposit/withdrawal with KYCconfigs/remittance-anchor.json— cross-border remittance with AMLconfigs/stablecoin-issuer.json— stablecoin issuance with reserve audits