Real-token results
Every verdict on this page is read from the report of an actual run:soroban-guard 0.4.5 against 4 live Stellar testnet contracts on 2026-10-19, with --format json. The reports are committed with this page and the table is built from them, so nothing here was copied by hand. Together: 58 pass · 2 fail · 4 unverifiable.
Every check that writes links to the transaction it settled — click a ✓ to see it on the ledger.
Stellar testnet · soroban-testnet.stellar.org
| Check | Soroban Example Token (SET)16 pass | OpenZeppelin Pausable Token (OZPT)16 pass | Native XLM (SAC)10 pass · 2 fail | Custom-asset SAC (TEST)16 pass |
|---|---|---|---|---|
| decimals | passed | passed | passed | passed |
| balance | passed | passed | passed | passed |
| allowance | passed | passed | passed | passed |
| name | passed | passed | passed | passed |
| symbol | passed | passed | passed | passed |
| transfer_fromunauthorized | passed | passed | passed | passed |
| transferzero amount | passed | passed | unverifiable | passed |
| transferself | passed | passed | unverifiable | passed |
| transfernegative amount | passed | passed | passed | passed |
| transferover balance | passed | passed | passed | passed |
| transfer | passed | passed | unverifiable | passed |
| approve | passed | passed | passed | passed |
| transfer_from | passed | passed | unverifiable | passed |
| burn | passed | passed | failed | passed |
| burn_from | passed | passed | failed | passed |
| transfer_fromexpired | passed | passed | passed | passed |
The contracts
- Soroban Example Token (SET)
CDABMBRIDJKHHNYHEQLE3GEINB5EKHGW62SDEXEOKNPKUF2MEJQVYLV5stellar/soroban-examples at 03d42aa6 — the repo's token example, compiled and deployed for this tablewasm sha25631570dc1711a7a4616c474443a501012298f86ab68f012a672b0608f733f1820 - OpenZeppelin Pausable Token (OZPT)
CC2LCJBERJPDTD27FGLYDTWAGSKEAJN42VT6SNQPVTEGQV63ZHKBSA5HOpenZeppelin/stellar-contracts at 33b665bc — the fungible-pausable example, compiled and deployed for this tablewasm sha256fc862406f3eed29f958b0b14493cd23f96dffcdafab731226711ed1f82e3c08c - Native XLM (SAC)
CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSCthe protocol's asset contract for the native asset, deployed on testnet - Custom-asset SAC (TEST)
CARQGEM3RDSWA2SRZDL6LDBOEQWQHS74BOL5V62QXIGMOBIMIX5YTYYNthe protocol's asset contract for a custom asset, deployed on testnet
Native XLM, the asset that pays the fee
Transaction fees are paid in XLM, so on the XLM contract the account that signs also pays the fee out of the balance being measured. Where that fee cannot be separated from the movement a check measures — transfer, transfer_from, and their zero-amount and self variants — the tool withholds the verdict instead of guessing. The calls did settle: each of those cells links to its transaction.
The two failures are deliberate on the contract's side: the Stellar Asset Contract refuses burn andburn_from on the native asset ("operation invalid on native asset"), so those SEP-41 clauses go unmet by a known property of XLM rather than by a defect this run discovered.
Run them yourself
The four were live on testnet on 2026-10-19. Testnet is reset from time to time, and the two example tokens, compiled at the commits listed above and deployed for this page, go with it; the asset contracts are the network's own.
Without keys, anyone gets the five reads. The writes need a holder with at least five units and a second, funded account. The two example tokens mint only to their admin, so their write rows can be repeated by whoever holds their units, not by any visitor.
# the reads
npx soroban-guard CDABMBRIDJKHHNYHEQLE3GEINB5EKHGW62SDEXEOKNPKUF2MEJQVYLV5
# all sixteen: a holder and a second account, both funded on testnet
OWNER_SECRET=$(stellar keys secret owner) \
SPENDER_SECRET=$(stellar keys secret spender) \
npx soroban-guard <contract-id> --format json--format json writes the report this page is built from; --format md writes a Markdown report that pastes straight into a PR.