Crypto Workshop
/crypto · version 3.13 · 2026-10-06
Capabilities
Crypto Workshop (/crypto) is where you build apps that hold money, tokens or data on other blockchains and on the Internet Computer. You move by six groups: Home, Hold, Move, Grow, Build, and AI. Older addresses still open. What you already hold is Kontext Wallet (/wallet) — the Vault and the World Wallet. The browser extension connects from there. Agent payments (x402) lets agents pay sites in USDC on Base, up to limits the wallet enforces. It builds nothing itself — Start hands your brief to the workspace. Apps sign with threshold keys; keys for outside services are stored on the app, never in the browser.
Home is the overview, the Chain Atlas, and the Internet Computer page. Hold is Wallet, NFTs, Keys, and Attest — how the World Wallet signs, not the portfolio at /wallet. Move is routes and bridges; Gasless is marked soon. Grow is Trade, Earn, Liquidity, and Govern. Build is Contracts, Issue, Agreements, Your crypto apps, Cloud, and the Bench. AI is models and agents that no single company runs.
Chain Atlas — a page per chain and protocol: what it is for, how an app signs, when to choose it, what Kontext does with it
Internet Computer — the deep page: full-stack on-chain, chain-key signing, Chain Fusion, reverse gas, honest limits
Start — recipes and chain pages write a brief the workspace builds; testnet by default
Your crypto apps — which apps use a chain, their addresses (read on press), and Add a chain
Keys and accounts — store LNbits, compute, Filecoin and node keys on the app itself
Bench — tools to add to an app, plus what is not built yet
What is the Crypto Workshop?
The Crypto Workshop (/crypto) is where you build apps that hold money, tokens or data on other blockchains — Bitcoin, Ethereum and the EVM chains, Solana, Sui, Aptos, Cosmos, Stellar, XRP, TON, TRON, Cardano and more — and on the Internet Computer itself.
It sits beside Agents and the Launchpad (Starter tier and up). The groups are Home, Hold, Move, Grow, Build, and AI. Holdings live in Kontext Wallet (/wallet). The browser extension connects from Connected apps. Agent payments (x402) lets agents pay sites in USDC on Base, up to limits the wallet enforces.
The workshop builds nothing itself. Start writes a brief and hands it to the workspace's own generator; Add to an app sends it through the update lane. Every crypto app is an ordinary full-stack app you also open in Workspace.
How a Kontext app signs on other chains
A Kontext app's backend runs on the Internet Computer, and it signs transactions on other chains with threshold keys: the key is split across the network's nodes and never exists whole on one machine. There is no seed phrase to keep and no server holding a private key.
Some jobs are better signed by the customer's own wallet — MetaMask, Phantom, Keplr and the others. Those are wallet kits: the app asks the wallet, the person approves, the app never holds that key.
A few services are providers with their own accounts (LNbits for Lightning, Akash, Fluence, io.net, Dispersed, Lighthouse). The app uses your account there, with a key you store on the app.
| Who signs | When | What you supply |
|---|---|---|
| The app (threshold key) | Treasury, payouts, bridging, anything the app does on its own | Nothing — fund the address it shows |
| The customer's wallet | A person pays, mints, or connects their own holdings | Nothing — they bring the wallet |
| A provider account | Lightning invoices, decentralized compute, Filecoin deals | A key, stored on the app from the app page |
The Chain Atlas
A page for every chain and interop protocol. Each page says what the chain is for, how an app signs on it, its features and which ones Kontext uses, what a Kontext app can do with it, when it is a great fit and when to think twice, what it costs, and what is Not in Kontext yet.
Everything a page says about Kontext is read from the toolkit registry, so it cannot name a function that does not exist. Descriptions of the chains come from each project's own documentation, linked at the bottom.
The Internet Computer page goes deepest: the engine, full-stack on-chain apps, chain-key signing, Chain Fusion, chain-key tokens, reverse gas, timers, and honest limits.
Starting an app, or adding a chain
Start a crypto app on the front page scrolls to recipes; each chain page has Start an app on … and Add to an app I have.
The sheet asks for your words first. Chain and toolkit chips show what the brief will name. Testnet is the default; Mainnet warns that it moves real funds. The brief the workspace receives shows the exact text before you send it.
Start in the workspace opens the hosting choice and then the workspace builds. Send to the workspace puts the brief in that app's chat. The chains named are requirements the engine may not drop.
Your crypto apps and the app page
Your crypto apps lists each app whose code imports a chain toolkit, with its chains and whether it is deployed. An app whose files have not been read is listed as Not read yet with Check this app — unknown is never shown as "not a crypto app".
An app's page shows its chains and backend, Addresses the app holds (press Read addresses — each read costs the app a few cycles), and Keys and accounts. Add a chain opens the sheet with this app already chosen.
A fresh address holds nothing until you fund it. The app says "not funded yet" and shows the address, rather than failing.
Keys and accounts
Only the services an app uses are listed. Each shows Not set, Saved on the app, or App does not report it, with Get a key ↗ to the provider.
Save to the app sends the key straight to the app's own owner-only setting, which checks it with the provider before keeping it. The field clears; the browser keeps nothing; no screen or method returns the key. Replace swaps it the same way.
| Service | Used for | Fields |
|---|---|---|
| LNbits wallet | Lightning invoices and payments | URL, invoice key, optional admin key (empty = receive-only) |
| Akash · Fluence · io.net · Dispersed | Decentralized compute inside an hourly ceiling | API key (Dispersed: public and secret key) |
| io.net IO Intelligence | Open-source models with caps | API key |
| Lighthouse | Filecoin storage deals | API key |
| toncenter | Optional — lifts the rate limit | API key (empty clears it) |
| Algorand node | Optional — your own node | URL and token |
The Bench
Tools the workspace alone does not have, grouped Keys and funds, Activity, Launch, Test, Run.
Here tools open in the workshop (addresses, keys) or link out (the Gas Station for cost). Add to an app tools open the sheet with a brief naming the toolkit — a wallet test page, a transaction log, a cross-chain tracker, an oracle price check, a token studio, an NFT collection, an NFT gate tester, a compute console, Hyperliquid trading guardrails, Lightning payments.
Contract deploy is Not built yet and has no button.
User journeys
CW-01. Open the Crypto Workshop
Path: Module switcher → Crypto Workshop · Discover Kontext · /crypto
You do:
- Sign in with the Kontext chooser (Google, Microsoft, Apple, passkey, Kontext ID, or recovery).
- Open the module switcher (or the Apps launcher in the header) and choose Crypto Workshop, or go to
/crypto. - Read the front page: the claim Build on any chain. Sign on all of them., the ring of chains the apps can sign on, and the Internet Computer strip below it.
- Use Home, Hold, Move, Grow, Build, and AI. Chain Atlas and the Internet Computer page are under Home. Your crypto apps and the Bench are under Build.
Result: You are in the workshop. Nothing here changes an app until you press Start or Save.
CW-02. Open it as a Kontext OS window
Path: Kontext OS → Start menu → Crypto Workshop
You do:
- Open
/osand find Crypto Workshop in the Start menu (Discover and Build lists) or the app catalog. - It opens in an OS window — the module header is hidden and the workshop fills the pane.
- Links inside the window stay inside the window; Your crypto apps reads the same projects as the workspace.
Result: The workshop is a first-class OS app, not a page inside Workspace.
CW-03. Start a crypto app from a recipe
Path: Workshop → Start a crypto app → a recipe card
You do:
- Press Start a crypto app (it scrolls to Start from a working recipe), or scroll there yourself.
- Pick a recipe card — each names the chains it uses and only recipes whose toolkits Kontext ships appear.
- In the sheet, keep A new app, name it, and describe the app in your own words in Describe it in your words.
- Press Start in the workspace, then pick where the app will live in the hosting dialog.
Result: The workspace generates the app from your brief. The chains and toolkits named in it are requirements the engine may not drop.
CW-04. Read a chain's page and decide
Path: Chain Atlas → a chain
You do:
- Open Chain Atlas and pick a chain or protocol tile. Each tile shows what Kontext supports for it.
- Read the top: what the chain is for, how an app signs on it, and Lets you build:.
- Read the features and the Kontext uses this tags, then How it works in a Kontext app.
- Read Decide — A great fit when… and the reasons to think twice — and Not in Kontext yet.
Result: You know whether this chain fits the app and what Kontext really does with it. Every function listed comes from the toolkit registry.
CW-05. Start an app on a chain
Path: Chain Atlas → a chain → Start an app on {chain}
You do:
- On a chain's page press Start an app on {chain} (a protocol page says Start an app using {protocol}).
- The sheet opens with a first sentence to finish — replace it with what the app should do.
- Check the chain chips and toolkit chips under the text: these are what the brief will name.
- Press Start in the workspace and pick where the app will live.
Result: A new app starts in the workspace with that chain's toolkits wired. If the button is greyed, the reason is written beside it.
CW-06. Add a chain to an app you already have
Path: Chain Atlas → a chain → Add to an app I have · or Your crypto apps → an app → Add a chain
You do:
- Press Add to an app I have on a chain's page, or Add a chain on an app's page.
- In the sheet choose An app I have, then pick the app under App (from an app's page it is already chosen).
- Say what the app should do with the chain.
- Press Send to the workspace.
Result: The brief lands in that app's workspace chat and goes through the update lane. The app's existing data and deploy settings are the workspace's to keep.
CW-07. Choose testnet or mainnet
Path: Any Start sheet → Testnet / Mainnet
You do:
- Open any Start or Add sheet — Testnet is selected.
- Leave it on Testnet while you build and try the app.
- Choose Mainnet only when the app should move real funds — the sheet warns that mainnet moves real funds.
Result: The brief tells the engine which network to use, and on mainnet the app says so wherever it shows a balance or asks someone to sign.
CW-08. Read the brief before it is sent
Path: Any Start sheet → The brief the workspace receives
You do:
- In the sheet, open The brief the workspace receives.
- Read it: your words first, then the chains, then Use these Kontext capabilities: with one line per toolkit, then the network.
- Edit your own words above if the brief does not say what you mean.
Result: You see exactly what the workspace will receive. The workshop never sends a brief you did not write the goal of.
CW-09. Read the Internet Computer page
Path: Internet Computer tab · or Workshop → an Internet Computer card → Read more →
You do:
- Open the Internet Computer tab (or press a card in the strip on the front page — it opens at that section).
- Use the section rail to jump: the engine, full-stack on-chain, chain-key signing, Chain Fusion, chain-key tokens, reverse gas, timers and the rest.
- Read the table of what runs where — frontend, backend, keys, scheduled work — for an ICP app against a typical app.
- Read Honest limits before choosing it.
Result: You know why every chain in the workshop is reached from an Internet Computer app, and where that model does not fit.
CW-10. Compare two chains
Path: A chain's page → Compare with · Internet Computer → Decide where to build
You do:
- On a chain's page, read Compare with and open a named neighbour.
- On the Internet Computer page, use Decide where to build and Pick a chain to compare.
- Read both sides — what each chain is good for and what it costs.
Result: A choice between two chains, with the reasons on both sides.
CW-11. See which of your apps are crypto apps
Path: Your crypto apps
You do:
- Open Your crypto apps.
- Read the cards: each app whose code imports a chain toolkit, with its chains and whether it is deployed.
- Press a card to open that app's page.
- Use Show … apps with no chain toolkit to see the rest.
Result: You see your crypto apps at the platform level, even though each is a full-stack app in the workspace.
CW-12. Check an app whose files are not read yet
Path: Your crypto apps → Not read yet → Check this app
You do:
- Under Not read yet, find the app you want to know about.
- Press Check this app. The workshop reads that one app's files.
- The app moves to the crypto cards if it uses a chain, or to the apps with no chain toolkit if it does not.
Result: Unknown stays unknown until you ask. The workshop never loads every project's files at once, and never calls an unread app "not a crypto app".
CW-13. Read an app's addresses and fund one
Path: Your crypto apps → an app → Addresses the app holds → Read addresses
You do:
- Open an app's page. It must be deployed — addresses live on its backend.
- Press Read addresses. Each read asks the app's backend to derive the address, which costs the app a few cycles, so it only runs when you press.
- Read each chain's address and the network it answers on. Press Copy beside one.
- Send test funds to it from a faucet or your own wallet.
Result: You have the app's address on each of its chains. A fresh address holds nothing until funded, and the app says "not funded yet" instead of failing.
CW-14. Store a service key on an app
Path: Your crypto apps → an app → Keys and accounts
You do:
- Open an app's page and scroll to Keys and accounts. Only the services this app uses are listed — for example LNbits, Akash, Fluence, io.net, Dispersed, IO Intelligence, Lighthouse, toncenter or algod.
- Read the pill: Not set, Saved on the app, or App does not report it.
- If you have no key yet, press Get a key ↗ to open the provider.
- Paste the key (and URL where asked) and press Save to the app. The app checks it with the provider first.
Result: The key is stored on the app's own backend, the field clears, and the pill turns to Saved on the app. The workshop keeps nothing, and no screen can read the key back.
CW-15. Replace or clear a key
Path: Keys and accounts → a service → Replace
You do:
- A saved service shows Saved on the app and a Replace button.
- Paste the new key and press Replace — it is checked and stored the same way.
- For an optional key (toncenter, an LNbits admin key), leave the field empty and save to clear it; for LNbits an empty admin key keeps the app receive-only.
Result: The app uses the new key from its next call. An error from the provider is shown as the provider wrote it.
CW-16. Add a bench tool to an app
Path: Bench → a tool → Add to an app…
You do:
- Open Bench. Tools are grouped: Keys and funds, Activity, Launch, Test, Run.
- Here tools open in the workshop (addresses and keys) or link out (the Gas Station for cost).
- For a tool marked Add to an app, press Add to an app…, pick the app, and adjust the sentence.
- Press Send to the workspace.
Result: The workspace adds the tool's screen to that app — a transaction log, a cross-chain tracker, a token studio, a compute console, Lightning payments and so on — using the toolkit the tile names.
CW-17. See what a tool that is not built yet says
Path: Bench → Contract deploy
You do:
- Find Contract deploy on the Bench — it is marked Not built yet.
- Read why: it needs a compiler in the browser and a wallet-signed deploy path.
- Use the toolkits on the Bench for contract work in the meantime.
Result: No tile is a button that does nothing. A tool that cannot act yet says so and has no button.
CW-18. Ask Kontext about a chain
Path: Talk · "open the crypto workshop" · "should I build on Solana or Sui?"
You do:
- In Talk, say open the crypto workshop — Kontext opens it.
- Ask how the workshop works, or which chain fits an idea; Kontext answers from the workshop's Help chapter and its Deep Book shelf.
- To build, press Start in the workshop or describe the app in the workspace — Talk explains, it does not start a build from the workshop for you.
Result: Kontext knows the workshop by name and can explain chains, keys and costs the way the workshop does.
CW-19. Create a canister and put a site in it
Path: Cloud → New canister → Create canister → Manage
You do:
- Open Cloud. Name the canister and pick its starting fuel: 100, 200 or 500 credits.
- Press Create canister. The network keeps 50 credits as its creation fee; the rest stays in the canister to run on. It is paid from your Gas Station tank.
- On the new row, press Manage. It reads the canister's state and fuel.
- Under Deploy a static site, choose the folder of your built site (it needs an
index.html). Kontext installs the standard asset host and uploads every file. - Press Open ↗ to see it at its
icp0.ioaddress.
Result: A canister of your own on the Internet Computer, serving your site, separate from Hosting. You can also install your own compiled .wasm (up to about 1.9 MB, gzipped is fine), pump more fuel, stop or start it, and delete it by typing its name.
CW-20. Read your wallets on every chain
Path: Wallet → My wallet or an app → Read balances
You do:
- Open Wallet. My wallet (your account engine) is first; each crypto app's treasury is below it.
- For EVM, pick the chain to read (Sepolia by default).
- Press Read balances. Each row shows its network and the amount in the chain's own unit, or why it could not be read.
- Press Show USD values to price each coin and see the wallet's total.
Result: Every balance, read through the wallet itself and signed by you. Nothing is read until you press, because each read is paid from that wallet's cycles.
CW-21. See the NFTs your apps issue and hold
Path: NFTs → an app → Read NFTs
You do:
- Open NFTs. Apps with the ICP NFT collection, Hedera or Ordinals are listed.
- Press Read NFTs.
Result: The app's own ICRC-7 collection (name, how many minted, the first tokens with their images), the NFTs its Hedera account holds, and the inscriptions and runes on its Bitcoin outputs.
CW-22. Check whether an app can trade, and its limits
Path: Trade → an app → Read limits
You do:
- Open Trade. Apps with ICPSwap, Uniswap v3, Jupiter, Osmosis or cross-chain intents are listed.
- Press Read limits.
Result: Each swap module shows On or Off, how many trades it has made today against its daily limit, its slippage, and its most-per-trade ceiling for each token. A module is Off until its owner sets a daily limit and at least one ceiling, and the app enforces both itself. You set limits and trade in the app.
CW-23. Set up your account engine
Path: Cloud → Your account engine → Set up my engine
You do:
- Open Cloud. The first card is Your account engine.
- Optionally paste a recovery principal — a principal you control somewhere else, as a second way in.
- Press Set up my engine. It creates a canister with 200 credits from your Gas Station tank, installs the engine from your browser, checks it answers, then makes you its only controller (with your recovery principal, if you gave one).
- Press Read my addresses to see your own address on each chain.
Result: One canister that holds your own address on every chain Kontext supports, controlled by nobody but you — not your workspace canister, not Kontext. If a step fails, press again: it picks up where it stopped. When a newer engine is published, Update engine installs it and keeps your keys and state.
CW-24. Run a container on Flux Cloud
Path: Cloud → Flux Cloud → Open
You do:
- Press Read. Fund the FLUX address it shows.
- Set Most FLUX per app and Most FLUX a day. Until both are set, nothing is paid.
- Give the app a name (letters and digits), a container image and its ports, then press Price it.
- Press Deploy on Flux.
Result: Flux registers the app and your engine pays for it from its own FLUX, within your limits. Where shows the nodes running it once they pick it up, and Open ↗ goes to <name>.app.runonflux.io. If the payment did not go through, Pay settles it within the hour.
CW-25. Deploy a container or GPU job on Akash, Fluence, io.net, Dispersed or Flux Edge
Path: Cloud → Akash · Fluence · io.net · Dispersed · Flux Edge → Open
You do:
- Pick the provider. Paste your API key from that provider and press Store key — it is checked, kept on your engine, and never shown again.
- Set the ceiling: most dollars per hour, how many may run at once, and the longest any may run.
- Optionally press See CPU offers or See GPU offers and pick one.
- Fill in a name, a container image, the port and sizes, and press Deploy.
Result: The job runs on your own provider account, booked for the hours you gave and inside your ceiling. Refresh reads its state and address, Stop ends it. The same seat stores an IO Intelligence key and lists its models.
CW-26. Run a program or a virtual machine on Aleph
Path: Cloud → Aleph Cloud programs and VMs → Open
You do:
- For a program: store your zipped code under Aleph storage first and copy its hash. Paste it as the code, set the entrypoint, vCPUs and memory, and press Deploy program.
- For a virtual machine: paste your SSH public key, set vCPUs, memory and disk, and press Start VM (Debian 12).
- Press Where for its node and address, Cost for what it holds or spends.
Result: The program or VM runs on Aleph nodes, paid by ALEPH held on your engine's address or with Aleph credits.
CW-27. Talk to an AO process
Path: Cloud → AO processes → Open
You do:
- Paste the process id, the action and any data.
- Press Dry run to see what the process would answer without committing anything.
- Press Send message, then Read result.
Result: Your engine messages the process as its own Arweave account. Starting a process of your own is not built yet.
CW-28. Store a file on Arweave, Aleph or Filecoin
Path: Cloud → Arweave, Aleph storage or Filecoin through Lighthouse → Open
You do:
- Press Read to see the address and what it holds.
- For Filecoin, store your Lighthouse API key first.
- Press Store a file and choose one (up to about 1.8 MB per file).
Result: Arweave keeps it permanently (small files are free through Turbo), Aleph stores it by its hash, and Filecoin makes storage deals on your Lighthouse account. Each seat lists what it stored with a link to open it.
CW-29. Receive on any chain
Path: Wallet → a chain row → Receive
You do:
- Press Receive on the chain you want.
- Copy the address or scan the QR code. For ICP tokens it is one principal that receives every ICRC token.
Result: The wallet's own address on that chain, with the network it is on — send only on that network.
CW-30. Send from your wallet
Path: Wallet → a chain row → Send
You do:
- Press Send. Enter the address and the amount in the chain's own coin, plus a memo or destination tag where the chain has one.
- Press Review. Check the amount, the address and the network.
- On a mainnet, tick This moves real funds and cannot be undone.
- Press Send now.
Result: The wallet signs and sends it; the balance re-reads and History lists it. Only the owner can send — the wallet itself refuses anyone else, in its own words.
CW-31. Send a token
Path: Wallet → a chain row → Tokens
You do:
- For EVM, Solana, TON, TRON, Stacks, MultiversX or Polkadot Asset Hub, paste the token's contract, mint, jetton master, identifier or asset id and press Check balance. For Hedera and Algorand, press Read tokens (and Associate or Opt in to a token before receiving it).
- Fill in the address and amount, Review, and Send now.
Result: The token is sent from the wallet on that chain. An Algorand asset only arrives if the receiver has opted in to it.
CW-32. Receive and pay on Lightning
Path: Wallet → Lightning → Open
You do:
- Enter your own LNbits address and invoice key (and the admin key if the wallet should pay), then press Connect.
- To receive: enter an amount in sat and press Create invoice — share the invoice or its QR code.
- To pay: set Most sat per payment and Most sat a day, paste an invoice and press Pay.
Result: Invoices and payments on your own LNbits wallet, listed below, and paying never goes past your limits.
CW-33. Send a Cosmos token back out over IBC
Path: Wallet → the Cosmos row → Tokens → Read tokens
You do:
- Open a denom that came from another chain (the chain's own coin sends from Send).
- Enter the address on the destination chain, the amount in smallest units, and the IBC channel it leaves through.
- Review and Send now.
Result: An IBC transfer through that channel. The channel decides where it lands, so check it before sending.
CW-34. See a browser wallet
Path: Wallet → A browser wallet
You do:
- Press Connect to read and approve in your wallet extension.
Result: Its address, network and balance. Nothing is signed; sending from it happens in the extension.
CW-35. Send or mint an NFT
Path: NFTs → your engine or an app → a collection
You do:
- Send one: enter the token id (or Hedera token and serial) and who it goes to, Review, tick that it moves an NFT, and send.
- On Hedera, Create a collection (name, symbol, most it may hold), then Mint with a metadata link of up to 100 bytes.
- On Bitcoin, Send an inscription by its id to a taproot address.
Result: The holder signs it. A collection's id appears once it lands — press Read NFTs, or read Tokens on the Hedera row of the Wallet.
CW-36. Turn trading on, and swap
Path: Trade → your engine or an app → a swap module
You do:
- Set limits: slippage in basis points and trades per day (Jupiter also takes a priority fee cap).
- Set a ceiling: the most of a token one trade may spend, in its smallest unit.
- Swap: token in, token out, amount → Get a quote.
- Check about how much comes out and the least it will accept, tick This trades real funds, and press Swap now.
Result: The module trades only inside its limits and reports the swap's status. Read limits shows it On, with today's count. Start an intent works the same way across chains.
CW-37. Start an AO process
Path: Cloud → AO → Open
You do:
- Name it and press Start a process. The process id fills in below.
- Paste Lua into Lua to load and press Load code (an Eval message). Press Read result to see it loaded.
- Dry-run or send messages to it like any process.
Result: An aos process on AO's legacy network owned by your engine's Arweave account.
CW-38. Deploy a Solidity contract from your wallet
Path: Contracts
You do:
- Write or paste Solidity and press Compile. Fix anything the compiler reports.
- Fill in the constructor's values and press Estimate gas; approve sharing your account in your wallet.
- Check the network, the gas and about what it costs. On a mainnet, tick This spends real funds.
- Press Deploy with my wallet and confirm in your wallet.
Result: The contract's address once it is mined, with its ABI to copy. Your wallet paid the gas and owns the deploy.
CW-39. Bring bitcoin in as ckBTC, and take it back out
Path: Wallet → Bitcoin & Ether bridge → Bitcoin
You do:
- Press Deposit address and send bitcoin to it.
- After it confirms, press Check for a deposit.
- To withdraw, enter a bc1 address and an amount, Review, tick This moves real funds, and Withdraw.
Result: The deposit lands as ckBTC in the ICP tokens row; a withdrawal leaves as real bitcoin once the minter signs it.
CW-40. Move USDC to another EVM chain
Path: Wallet → USDC across EVM chains → Move USDC
You do:
- Pick the chain it leaves from and the chain it goes to, and the amount.
- Review, tick This moves real funds, and Send USDC.
- Open Transfers and press Advance to push it along.
Result: Circle CCTP burns it on the first chain and mints it on the second once Circle attests.
CW-41. Stake ICP or TAO
Path: Wallet → ICP staking or Bittensor → Limits
You do:
- Set the limits (for ICP: the most to stake and what to keep liquid; for TAO: per action, per day and slippage).
- Stake: for ICP, the amount, the dissolve delay and optionally a known neuron to follow; for TAO, the validator hotkey, the subnet and the amount, then Get a quote.
- Tick the lock or real-funds box and press Stake.
Result: A neuron you can later dissolve, top up, stake maturity on and disburse; or stake on a subnet you can unstake.
CW-42. Trade Hyperliquid perps under guardrails
Path: Trade → a holder with Hyperliquid → Read → Guardrails
You do:
- Turn trading on with a most-per-order and most-per-day dollar limit, the markets allowed, and a maximum leverage.
- Place an order: market, side, price (or
market) and size. Review, tick This trades real funds, and Submit order. - If every order needs approval, press Approve on it.
Result: The canister sends only orders inside the guardrails; open orders can be cancelled.
CW-43. Use the Kontext Wallet browser extension
Path: Crypto Workshop → Wallet → Update if offered · Chrome → Kontext Wallet
You do:
- Open Wallet and press Update if the World Wallet offers one. Sending every token, Cosmos and Stellar sites, and x402 payments need the current wallet.
- Install the Kontext Wallet extension in Chrome. Your keys stay on the Internet Computer. The extension asks the wallet to sign only what you approve.
- Connect a site (Ethereum, Solana, Cosmos via Keplr, or Stellar via Freighter) and approve the request.
- Send only after the review: what leaves, to whom, and the fee.
Result: Websites can ask this World Wallet to sign. Nothing moves until you approve it.
CW-44. Let agents pay websites (x402)
Path: Crypto Workshop → Agent payments (x402)
You do:
- Open Agent payments (x402).
- If it says agent payments are not set up on this Kontext server yet, stop — there is nothing to turn on.
- Send USDC on Base to the World Wallet’s EVM address so there is something to spend.
- Turn it on and set the limits. The wallet enforces them on every payment.
Result: Agents may pay sites that charge a few cents per request, in USDC on Base, only up to those limits. Turning it off stops new payments.
How it works
Route /crypto. The workshop builds no app itself. It helps you choose a chain, writes a brief that names the chains and toolkits, and hands it to the workspace's own generate lane (Start) or update lane (Add to an app). Apps sign on other chains with ICP threshold keys; wallet kits let a customer sign with their own wallet; provider services use a key you store on the app. The toolkit reference is Blockchain Toolkits. It also carries your own account engine: one canister per account, created from Cloud, installed from the browser and then controlled by you alone, holding your address on every chain it carries. The Wallet, NFTs, Trade and Cloud tabs act through it (and through your apps' treasuries) by calling the toolkits' own methods, signed by you, each behind a review step.
Benefits
- Decide where to build with the trade-offs on both sides, not a list of praise.
- Start a multi-chain app from your own words, on testnet by default.
- See every crypto app you own, its addresses, and give it service keys that never touch the browser.
- Hold, receive and send coins and tokens on every chain from one wallet only you control, with USD values from the exchange-rate canister and Lightning on your own LNbits.
- Send and mint NFTs on every chain that can, swap under limits the swap modules enforce themselves, and trade Hyperliquid perps inside guardrails you set.
- Bring BTC, ETH and ERC-20s in as ckBTC / ckETH / ckERC20 and back out, move USDC between EVM chains, and stake ICP in NNS neurons or TAO on Bittensor subnets.
- Compile Solidity in the browser and deploy it from your own wallet, with the gas shown first; start AO processes from your engine.
- Run compute and storage on Flux, Akash, Fluence, io.net, Aleph, AO, Arweave and Filecoin, and plain Internet Computer canisters of your own.
Who it's for
Primary: owners who want an app that holds or moves value on Bitcoin, Ethereum, Solana or any other chain Kontext reaches. Also: builders choosing between chains, and owners wiring Lightning, compute or Filecoin into an app. Not: a replacement for the Vault in your preferences (the engine wallet lives in this module for now). Solidity contracts deploy from your own browser wallet, not from the engine, and apps built in the workspace do not yet ship contracts of their own.