The Next Standard for On-Chain Interaction: A Deep Dive into Blinks and Actions

LE◎
Turbin3 Research
Published in
5 min readJun 25, 2024

In an era characterized by constant context switching and short attention spans, imagine eliminating the friction crypto enthusiasts face when interacting with blockchain applications on social media platforms like Twitter.

Thanks to a combined effort from the Dialect and Anza teams, you can now directly engage with your favorite crypto dApps without leaving Twitter!

Before diving into how this works, let’s take a step back and understand the technology that makes it possible.

Open Graph

Open Graph is a technology protocol developed by Facebook that allows web developers to control how their content is presented and shared on social media. When a webpage implements Open Graph meta tags, it provides structured data to social media platforms. This enables them to generate a visually appealing and informative preview of the webpage when shared, typically including a title, description, thumbnail image, and other relevant information.

The same user experience is now possible for creating previews of your favorite crypto dApps.

Blinks and Solana Actions

Built with the same concept as the Open Graph standard, Solana Actions and Blinks provide custom interactions for crypto users directly inside the Twitter website!

img of another frame

Let’s explore what they are:

  • Solana Actions: Specification-compliant APIs that return transactions on the Solana blockchain, ready to be previewed, signed, and sent across various contexts, including QR codes, buttons, widgets, and websites.
  • Blockchain Links (Blinks): These turn any Solana Action into a shareable, metadata-rich link. Blinks enable Action-aware clients (such as browser extension wallets and bots) to display additional capabilities for the user.

How does it work?

Actions

Actions can be thought of as an adaptor that connects the Open Graph standard with Solana, making it possible for web extensions to read the right data, display it correctly, and deliver signable transactions (and eventually signable messages).

The Actions API involves making simple GET and POST requests to an Action’s URL endpoint and handling the responses that conform to the Actions interface.

  1. GET Request: Returns metadata that provides human-readable information to the client about what actions are available at this URL, and an optional list of related actions.
  2. POST Request: Returns a signable transaction or message that the client then prompts the user’s wallet to sign and execute on the blockchain or in another off-chain service.

In practice, interacting with Actions closely resembles interacting with a typical REST API:

  • A client makes the initial GET request to an Action URL to fetch metadata about the Actions available.
  • The endpoint returns a response that includes metadata about the endpoint (like the application’s title and icon) and a listing of the available actions for this endpoint.
  • The client application (such as a mobile wallet, chatbot, or website) displays a UI for the user to perform one of the actions.
  • After the user selects an action (by clicking a button), the client makes a POST request to the endpoint to get the transaction for the user to sign.
  • The wallet facilitates the user signing the transaction and ultimately sends the transaction to the blockchain for confirmation.

Note: Actions also support some level of invalidation before execution. The GET and POST requests may return metadata stating whether the action can be taken (such as with the disabled field).

Blinks

Blinks (blockchain links) are client applications that introspect Action APIs and construct user interfaces around interacting with and executing Actions. Client applications that support Blinks simply detect Action-compatible URLs, parse them, and allow users to interact with them in standardized user interfaces.

Rendering Blinks

Blinks may be linked to Actions in at least three ways:

  1. Sharing an Explicit Action URL: For example, solana-action:https://actions.alice.com/donate. Only supported clients may render the blink; there will be no fallback link preview or site that can be visited outside the non-supporting client.
  2. Sharing a Link to a Website Linked to an Actions API: For instance, https://alice.com/actions.json maps https://alice.com/donate to the API URL https://actions.alice.com/donate, where Actions for donating to Alice are hosted.
  3. Embedding an Action URL in an “Interstitial” Site URL: For example, https://blink.to/?action=<action_url>. Clients that support Blinks should be able to take any of the above formats and correctly render an interface to facilitate executing the action directly in the client.

For clients that do not support Blinks, there should be an underlying website, making the browser the universal fallback. If a user taps anywhere on a client that is not an action button or text input field, they should be taken to the underlying site.

Use Cases

Now that you know what Blinks and Solana Actions are, let’s explore some potential use cases:

Advertising

Imagine you’re a protocol like MarginFi that wants to advertise that their APY on USDC is currently the best. With Blinks and Solana Actions, not only you could highlight this information on your company account, but you can also create an action directly in the post that lets users deposit and lend USDC directly from their Twitter feed!

Gaming

Imagine you’re a game like Burger Games. The engagement and power mechanics of the entire game could be significantly improved, potentially making it an even bigger success by reducing friction. In fact with Actions, instead of following announcements for new games and navigating through Discord and the Game website to connect your wallet and start playing, you could choose your response and start playing directly on Twitter!

Tip Jar

Imagine embedding a Tip Jar in the last post of your technical thread, where you’ve put in a lot of effort. Crypto users who find your content engaging and valuable could directly tip you for your work, perhaps even buying you a coffee. Not bad, right?

This opens up opportunities for new consumer apps to leverage this technology and gain a competitive edge quickly. The ability to attract and engage users directly without requiring context switching can create a new way to instantly “reward” users, prompting immediate action when they see relevant information pop up in their feeds.

Congratulations! You’re all caught up on this new feature now! Hopefully, this content was entertaining and you got to learn something new.

If you want to follow my journey and you don’t want to miss out on my next piece of content, follow me on Twitter!

--

--