Bring Crypto to the People with Solana Actions and Blockchain Links
Interface with users anywhere you can post a (b)link.
Traditional onchain transactions have been locked away in apps or complex interfaces, making it significantly harder for people to use crypto products. With Solana Actions and blockchain links, or blinks, transactions can open up to anywhere on the internet — no dApp required.
Blockchain Links, or Blinks
Using Solana Actions, you can turn any transaction into a blockchain link that can be shared anywhere on the internet — no third party application required. Request a payment in a text message. Vote on governance in a chatroom. Buy an NFT on social media. It’s all possible.
Blinks for Social
Make creators the platform. Use Solana Actions in the places creators have built audiences to token-gate content, build support, and more.
Blinks for Payments
Get payments in the blink of an eye. Use a blockchain link to make an onchain purchase without ever having to leave the website you're on.
Blinks for Governance
Remove the barriers for onchain governance. Use a blink to record votes in a shared community social space, instead of using third party tools.
Blinks for Games
Take action in virtual worlds without logging in. Solana Actions decentralize the gaming experience, allowing players to interact and take action even when not in the game itself.
With Solana Actions, request transactions with…
About Solana
Solana is a blockchain built for mass adoption. The high-performance network acts as a single global state machine — it’s open, interoperable, and decentralized.
FAST
Solana has slottimes of 400 milliseconds.
SCALBALE
Solana processes more transactions than every other blockchain solution combine.
INNOVATIVE
Thousands of developers are building unique tools — from enterprise-friendly token extensions to highly scalable state compression.
EFFICIENT
Each Solana transaction uses about the same energy as a few Google searches.
Solana Actions are specification-compliant APIs that return transactions on the Solana blockchain to be previewed, signed, and sent across various contexts, including QR codes, buttons + widgets in mobile and desktop applications, and websites across the internet. Actions make it simple for developers to integrate the things you can do throughout the Solana ecosystem right into your environment, allowing you to perform blockchain transactions without needing to navigate away to a different app or webpage.
Blockchain links – or blinks – turn any Solana Action into a shareable, metadata-rich link. Blinks allow Action-aware clients (browser extension wallets, bots) to display additional capabilities for the user. On a website, a blink might immediately trigger a transaction preview in a wallet without going to a decentralized app; in Discord, a bot might expand the blink into an interactive set of buttons. This pushes the ability to interact on-chain to any web surface capable of displaying a URL.
Actions are APIs that allow complex business logic (both on and off-chain) to be used to construct transaction messages that are previewed, signed, and sent by the client. Native buttons, QR codes, or URLs (blinks) can initiate an Action.
Blinks are one way to interact with an Action. Blinks allow users to execute blockchain transactions directly from URLs, making decentralized applications accessible from any platform or device.
Solana Pay transactions are now called Actions. Actions are not specific to payments – there are many other types of Actions, such as voting, staking, swapping, minting and more.
The goal with Actions is to apply the Solana Pay specification to many more use cases. By using the Solana Pay primitive as inspiration, Actions will change how users interact with blockchain in everyday environments.
In short, the Solana Pay spec isn’t changing. But what you can do with Actions expands the scope from payments to anything you can do on-chain.
Some examples of Actions might include:
- Staking SOL to help secure the Solana network, including liquid staking tokens
- Allowing customers to pay at a retail store using a QR code scan
- Token-gated minting experiences
- Enabling e-commerce websites to accept cryptocurrency payments directly from product pages
- Topping up a trading account before a margin call
- Integrating blockchain functionality into gaming platforms for in-game asset purchases and trades
Some examples of blinks might include:
- Tipping content creators on social media without the need for complex wallet setups
- Minting custom NFTs or participating in governance votes directly from URLs
- Letting users vote on community policies via links in newsletters
Key benefits include:
- Enhancing user experiences by bringing signable transactions to users where they already are.
- Increasing accessibility to Web3 applications from any platform.
- Eliminating the friction of many clicks on many websites to send an on-chain transaction.
- Simplifying the integration of on-chain actions into existing platforms, websites, or applications for developers.
Developers create actions as standalone APIs that conform to the Solana Actions Specification, and then may link them to their existing site URLs using an actions.json file.
Clients that support blinks will then render URLs to the site or underlying Actions API as fully-unfurled blinks, with no additional work required by the developer.
- Additionally, there are a host of libraries and SDKs for developers who wish to build clients that support blinks, or wallet chrome extensions that add blinks to existing sites like X. These libraries make it possible to build applications that render and style blinks with minimal work.
For more information about Actions and blinks, visit the official Solana documentation and recorded developer workshop.
Actions and blinks are similar to “connecting” your wallet to dApps - trust the sites you know and use, just as you trust the dApps you know and use.
The first time a wallet attempts to retrieve a transaction from an unknown API, users should be shown a familiar “connect to site” prompt. If the site domain has connected to the wallet in the past, the transaction should most likely be secure. As with dApps, Action transactions are always simulated prior to execution.
Note: blinks are executed on a different origin (Twitter, Reddit, etc.) than their Action, so some caution should be exercised.
As of launch, users can opt-in to wallet support. Launch partner domains are currently whitelisted, and non-whitelisted domains show warnings to users. Transaction simulations or previews still happen in wallets as expected.
In the future, wallets may infer trust from whether or not you've used a site before, and assertions may be required from wallets to safeguard users (agnostic of Actions).
Blinks are just regular links, with superpowers. If you don’t have blink support through a wallet Chrome extension (like Phantom or Backpack), the underlying link will behave like links always do – it will take you to a website. That website is either:
- The existing website of the dApp you are engaging with, whether it be the swap page on Jupiter, an NFT collection on Tensor, or a DAO proposal. From that site you can then take action as you normally do.
- A kind of popup – or “interstitial” interface – for independent developers without a pre-existing website or app. This may be a dedicated website, like actions.dialect.to, tiplink.io, or a signing experience in a mobile wallet, with secure, direct access to the user’s signing keys.
In other words, blinks support fallbacks to both familiar website experiences, as well as entirely new, web3-native ways for developers and creators to distribute experiences to their audience.
When an Action is shared via a blink, the blink should provide an interstitial signing page [link coming] whenever a Chrome extension is missing. These interstitial sites display the typical “connect to wallet” flow, along with access to embedded wallets associated with emails or phone numbers.
As of launch, all wallet support is opt-in, so users can pick and choose which wallets to use. That said, the wallet whose extension code has been injected first receives priority (agnostic of Actions).
Dialect is building developer tooling that powers Actions, such as forkable, self-hosted interstitial signing sites, SDKs, and analytics for Actions APIs. Other teams are free to build tooling, as well.