Tallinn Testnet Test Protocol
Protocol Version: Tallinn (T024)
Protocol Hash: PtTALLiNtPec7mE7yY4m3k26J8Qukef3E3ehzhfXgFZKGtDdAXu
Network: Tallinnnet
Block Time: 6 seconds (reduced from 8)
Finality: ~12 seconds (2-block confirmation)
Legend
✅ : Passed
❌ : Failed
☐ : Not Run
Test Evidence Requirements
For each test case, developers must provide:
- Transaction Hash linked to TzKT explorer:
https://tallinnnet.tzkt.io/{tx_hash}
- Screenshot of the AirGap Vault/Wallet UI showing the operation
- Tester Name & Date
- Pass/Fail Status
Section 1: Basic Functionality
1.1 Account Creation & Import
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.1.1 |
Create new account |
Account created, address displayed correctly |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.1.2 |
Import existing wallet via mnemonic |
All accounts restored correctly |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.1.3 |
Import watch-only address |
Address added, balance displayed |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.1.4 |
Verify address derivation path |
Standard BIP44 path used |
N/A |
✅ |
Damilola Debel |
9-12-25 |
1.2 Network Configuration
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.2.1 |
Add Tallinnnet custom network |
Network added with correct RPC endpoint |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.2.2 |
Switch between Mainnet and Tallinnnet |
Network switch successful, balances update |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.2.3 |
Verify block time displays correctly (6s) |
Block time shown as 6 seconds |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.2.4 |
Test RPC endpoint connectivity |
Connection successful |
N/A |
✅ |
Damilola Debel |
9-12-25 |
1.3 Vault ↔ Wallet Communication
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.3.1 |
QR code signing flow (simple tx) |
Vault signs, Wallet broadcasts |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.3.2 |
QR code signing flow (batch ops) |
Multi-QR sequence works |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.3.3 |
Large transaction QR (many outputs) |
QR sequence handles size |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.3.4 |
Reject signing in Vault |
Transaction cancelled properly |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.3.5 |
Timeout during QR scanning |
Proper error handling |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.3.6 |
Partial QR scan (incomplete) |
Clear retry instructions |
N/A |
✅ |
Damilola Debel |
9-12-25 |
1.4 Sapling/Shielded Transactions (NO SAPLING CONTRACT ON TALLINN)
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.4.1 |
Shield XTZ (transparent → shielded) |
Shielded balance created |
N/A |
☐ |
Damilola Debel |
9-12-25 |
| AG-1.4.2 |
Shielded transfer |
Transfer within shielded pool |
N/A |
☐ |
Damilola Debel |
9-12-25 |
| AG-1.4.3 |
Unshield XTZ (shielded → transparent) |
Funds returned to tz1 |
N/A |
☐ |
Damilola Debel |
9-12-25 |
| AG-1.4.4 |
View shielded balance |
Balance displayed correctly |
N/A |
☐ |
Damilola Debel |
9-12-25 |
1.5 Transaction History & UI
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.5.1 |
View transaction history |
All txs displayed correctly |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.5.2 |
Transaction details view |
Shows correct amounts, fees, status |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.5.3 |
Pending transaction display |
Shows unconfirmed txs |
N/A |
✅ |
Damilola Debel |
9-12-25 |
1.6 Security & Recovery
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-1.6.1 |
Backup mnemonic phrase |
Phrase displayed securely |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.6.2 |
Restore from mnemonic |
All accounts restored |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.6.3 |
Wrong password attempt |
Access denied, no crash |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.6.4 |
Verify address on Vault |
Address matches Wallet |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.6.5 |
Biometric authentication |
Works as expected |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-1.6.6 |
App backgrounding during signing |
State preserved or clear recovery |
N/A |
✅ |
Damilola Debel |
9-12-25 |
Section 2: Tezos Operations
2.1 Reveal & Transfers
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-2.1.1 |
Reveal public key (first tx from new account) |
Key revealed on-chain |
opYoHWWGwiKAgxQnpAQ8LCvraq6Vsz5pqHVcvguUg9tmWJwZGAz |
✅ |
Damilola Debel |
9-12-25 |
|
|
|
opSG3hmZuYwndF91M2fwbSFeUjDoFvz5zwwHEKTxWMctxognF4M |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-2.1.2 |
Send XTZ from tz1 to tz1 |
Transaction confirmed within ~12s |
oox364A3LBPwXKhce9iKU7YeZUnmFQVhrUD8mH1K8kdqhmaAXuU |
✅ |
Damilola Debel |
9-12-25 |
|
|
|
op14p2HivMde2aD14FSDZBB275T4UJQDmULsNhmsPtJBBf7bXYf |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-2.1.3 |
Send XTZ to KT1 contract address |
Transaction confirmed |
opKsh2YmmN8qfBzo9tYMXGNuajRvKFbouBcaWdAC5roxLKrVAJ5 |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.1.4 |
Send maximum balance (leave gas) |
Correct calculation, tx succeeds |
onmNqnM2r74Q1hmyoMZg3dBfpEdJYi5Jn3VEtYBU2wMfwsdALAK |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.1.5 |
Send 0.000001 XTZ (minimum) |
Minimum amount accepted |
oo4z1vFbYpc44nbstk1HJpenScBGEdWp9TBUV3LXXdVq4oSVCA7 |
✅ |
Damilola Debel |
9-12-25 |
2.2 Transaction Edge Cases
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-2.2.1 |
Send more XTZ than balance |
Clear error message, tx rejected |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.2 |
Send to invalid address format |
Address validation error |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.3 |
Send with insufficient fee |
Error or automatic fee adjustment |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.4 |
Send to self (same address) |
Transaction allowed or clear error |
oorkjHe2mLBuX4p4W7ihHRaBxZiHNEUZKkYtsKo9Zaq6ZMobPV2 |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.5 |
Send with custom fee (very low) |
Warning or rejection |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.6 |
Send with custom fee (very high) |
Accepted with warning |
ooX2476d1DgZwXXr5U8qU9jgZq5cYB1hbz1kr46Xi4yqexxEQDd |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.7 |
Network timeout during broadcast |
Proper error handling, retry option |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.2.8 |
Send to unrevealed account |
Transaction succeeds |
oonPpB4uDPgxY2NgUsVbfTFRg1vY2bVUFMuskUujNhKy1UpV9GR |
✅ |
Damilola Debel |
9-12-25 |
2.3 Delegation
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-2.3.1 |
Delegate tz1 to baker |
Delegation registered |
opGjLVisTnNQMqwbnXMWAnDzqaybqonuQJCw9Ng8D39taJEVJxV |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.2 |
Change delegation to different baker |
Delegation updated |
oo8K92emV6sfDW9Ssbj1osALwK93cf8uHw82TvUTddbnf6UE9M9 |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.3 |
Remove delegation (undelegate) |
Delegation cleared |
opCrL3r8bgLQ7BvTtbu7fZXcJ9bZXWbVewc8Kh332U7sK8ETZ21 |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.4 |
Verify delegation status in UI |
Shows current baker |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.6 |
Delegate to invalid baker address |
Error message displayed |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.7 |
Delegate to inactive/deactivated baker |
Warning or error |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.8 |
Re-delegate within same block |
Counter/nonce handling correct |
N/A |
✅ |
Damilola Debel |
9-12-25 |
| AG-2.3.9 |
Delegate to own address (self-delegate) |
Error or warning |
N/A |
✅ |
Damilola Debel |
9-12-25 |
2.4 Staking
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-2.4.1 |
Stake XTZ (self-transfer to stake entrypoint) |
Stake registered, balance locked |
onk2B84JN71sWQafWLSPPYY9oQVFtCRuQzD9XepokVFLbD5NhYa |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.2 |
Stake partial balance |
Correct amount staked |
onk2B84JN71sWQafWLSPPYY9oQVFtCRuQzD9XepokVFLbD5NhYa |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.3 |
Stake maximum available balance |
Full stake successful |
oos5EbQAkVvvjB63kA5EbttJQkXVszdXa7R1DqFNLYJzu1Z9nWs |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.4 |
Verify staked balance in UI |
Shows locked/staked amount |
N/A |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.5 |
Unstake partial amount |
Unstake request created |
onsfjbqexJbxdhmofd7WthSKXAaE5JYdaaQLB9cqSYPHa3oh75q |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.6 |
Unstake full staked amount |
Full unstake requested |
oobWmaHaYWYimAevuRZDAoGb7hAkZG3G6KuhDqKKM9n6xjYChtm |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.7 |
Verify unstake waiting period |
UI shows correct unlock time |
N/A |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.8 |
Finalize unstake after waiting period |
Funds returned to spendable balance |
onpg3ePfB3BhAjRdHadQcToSPhm3j6JCUwiJmqSAN18XbqD31CK |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.9 |
Stake without prior delegation |
Error or auto-delegate prompt |
N/A |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.10 |
Stake more than available balance |
Clear error message |
N/A |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.11 |
Multiple stake operations in sequence |
All stakes aggregated correctly |
ongzdEoHZm7KV4smmWER8BtfzxfcF5L1U5zT5Gppmczpy7A8V7o opKekzXbbq5H9dqa6JhaQ5fWz4NNqj99FJaHonxoE5fAzShEeFx |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.12 |
Unstake more than staked |
Error message |
N/A |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.13 |
Stake immediately after unstake finalize |
New stake registered |
opCrKB1qpgEqLXr7HAartxoHKnJgvZknSboKppHUKaPsaWRMufn |
✅ |
Damilola Debel |
10-12-25 |
| AG-2.4.14 |
Change delegation while staked |
Slashing risk warning shown |
onf7gRobvWS8bkCk5UCxpUiZJRazR5wwBw95aJZn8zzijyi2upr |
✅ |
Damilola Debel |
10-12-25 |
Section 3: Contracts & Tokens
3.1 FA1.2 Token Operations
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-3.1.1 |
Transfer FA1.2 tokens |
Tokens transferred successfully |
ookugXJEmzmJzuP3UvfDvuEuMu2u4QqQy9vcKoq1rV8irjyeUZK |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-3.1.2 |
Approve FA1.2 spending allowance |
Allowance set correctly |
opCzVynJiBZkDVupTkd1y97aMnX4KW9LVqLceUDKPjLofP2h5xu |
✅ |
Lukas Schönbächler |
11-12-25 |
3.2 Contract Calls
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-3.2.1 |
Call contract default entrypoint |
Call succeeds |
opCbd8142PDYHrAbJ4QpSuUyNeQbERzponaoMUXWDpL35rSLA1x ooS6EiSfkK1E769gGgqftrEG5VGxdTo3p3d8YhhdWYkuPnauxR5 |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-3.2.2 |
Call contract with parameters |
Parameters encoded correctly |
opJPQhfN5YcLixyqEUGgNeYFnxKsNoCpadkWDY6mRrceM1mayyd |
✅ |
Lukas Schönbächler |
12-12-25 |
3.3 Contract Origination
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-3.3.1 |
Originate simple contract |
KT1 address returned |
ooHnUU3JehSXtroYUB4KwTgPXxZKVzJy4tcDPCGYtaM357LxZVU ooGUHSVzWVMqcxNncvy8sVSng3Aae5zWsSzzXpMHD4fnHSHTfBe ooEuS1jk7mNAEQjaKJkwEEYFwEfX5uoPs9tCd2RjCtmjY1mWkX9 |
✅ |
Lukas Schönbächler |
11-12-25 |
3.4 Batch Operations
| ID |
Test Case |
Expected Result |
Tx Hash (TzKT Link) |
Status |
Tester |
Date |
| AG-3.4.1 |
Batch: multiple XTZ transfers |
All transfers in single operation |
oof7M5KHsK81QuSA6PpUAsFJrDgbnq9qd7ppCuvdUzbFkDGMqNf |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-3.4.2 |
Batch: transfer + contract call |
Both succeed atomically |
onw2ZJ3EtDrtsmmYdJHwMDMT1nrY7WhyaZvBHN7iK52Tu7tn2zb |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-3.4.3 |
Batch with one failing operation |
Entire batch reverts |
N/A |
✅ |
Lukas Schönbächler |
11-12-25 |
| AG-3.4.4 |
Large batch (10+ operations) |
All operations succeed |
onxYAQdusyrtKUyPJuQ8Q2CLeSQWbj8tZQZCLokCY2nXG5CRupG |
✅ |
Lukas Schönbächler |
12-12-25 |
Test Summary
| Section |
Total |
Passed |
Failed |
Not Run |
| 1. Basic Functionality |
27 |
23 |
0 |
4 |
| 2. Tezos Operations |
35 |
35 |
0 |
0 |
| 3. Contracts & Tokens |
9 |
9 |
0 |
0 |
| TOTAL |
71 |
67 |
0 |
4 |