Generate
Create the wallet bundle once in Wallet Tools. Corto shows the public key, private key, and API key to the user during generation.
Most trading products ask the user to trust the platform with too much. Corto.Fun is built around a simpler promise: make execution fast, but keep the wallet recovery path with the user. You trade with an API key, yet the wallet can still be restored outside Corto at any time with the saved private key.
Create the wallet bundle once in Wallet Tools. Corto shows the public key, private key, and API key to the user during generation.
Save both the private key and the API key. They are shown only once during generation.
Import the private key into any Solana wallet you trust, fund it with SOL, and start trading through the Lightning Builder.
Use the API key for day-to-day trading, while the private key stays with the user as the fallback path to move funds outside the platform.
Funds are not parked in a platform-only trading balance, and access to withdrawal does not depend on Corto being online.
The standard trading path works through the API key instead of requiring the user to send the private key in routine requests.
The model is built around usable infrastructure, not around creating conditions that force people to rely only on platform tools.
Teams can watch create, trade, migration, and pool events in one place through the Data Stream Builder and its reference pages.
The stream scope can be changed through control messages on the same socket instead of reconnecting every time.
Developers can verify real envelopes, nullable fields, and service replies before wiring the stream into production code.
| Model | How it usually works | Main risk | Why Corto is different |
|---|---|---|---|
| Internal trading wallet | The user deposits funds into a platform wallet or subaccount and trades entirely inside that system. | If the service is down or slows withdrawals, the user depends on the platform to regain access. | Corto keeps the recovery path with the user because the wallet can still be restored outside the platform, for example in Phantom or Solflare. |
| Service stores funds | The product directly holds or controls user assets as part of normal operation. | The trust burden becomes much higher and one serious failure can damage the product permanently. | Corto is positioned as execution infrastructure, not as a place that should hold customer money. |
| Private key in normal flow | The developer passes or manages the private key in routine requests, bots, or service config. | That creates avoidable operational risk and immediately raises trust concerns for serious teams. | Corto generates a wallet bundle with a public key, private key, and API key, shows it to the user once, and does not store those values for later recovery. Day-to-day trading then runs through the API key. |
The user is not being asked to trust a black-box balance that only the platform can release.
Teams get a fast server-side trading path without building the whole execution stack from scratch.
This model is easier to explain honestly to cautious users, bot operators, and B2B integrations that do not want hidden custody risk.
Save the private key and the API key when the wallet bundle is generated. The public key is shown too, but the private key and API key are the critical values that cannot be recovered later.
The wallet cannot be restored, and funds left in that wallet are effectively lost.
Lightning trading access is lost, but anyone who still has the private key can restore the wallet and move funds outside Corto.
Corto does not keep a recoverable copy of customer keys. That keeps ownership explicit and avoids turning the platform into a hidden custodian.
Because the user does not depend on a platform-only balance or a withdrawal queue to regain control of funds.
Because it removes the risk of exposing the private key in routine trading requests. A leaked API key is still dangerous because it can submit trading instructions, but it is less dangerous than a leaked private key because it does not allow the attacker to withdraw funds from the wallet.
The user still has the private key shown during wallet generation and can restore the wallet outside Corto.
No. The private key and API key are shown once during generation and must be stored by the user.
No. Lightning transactions are still executed server-side, so trust in uptime and execution logic still matters. What this removes is one of the worst risks: dependence on the platform because user funds are trapped inside it.
Bots, trading scripts, Telegram bots, server-to-server integrations, careful solo developers, and teams that need a fast start without handing everything over to the platform.
Use Local Build when you want the API to prepare an unsigned transaction and keep signing entirely on the wallet side.
Inspect the free WebSocket stream, copy control messages, and watch live JSON in the browser.
Open data streamGenerate the wallet bundle, save both keys, and keep recovery under your own control.
Open walletBuild unsigned transactions when you want signing to stay fully on the wallet side.
Open local buildStart from runnable examples for bots, relays, analytics, and local wallet flows.
Open examples