Actions (a especificação)
Endpoints HTTP padronizados que produzem transações Solana para carteiras e Blinks.
Busque em todas as páginas da documentação
Endpoints HTTP padronizados que produzem transações Solana para carteiras e Blinks.
GET /action-info → metadados (título, ícone, descrição)
POST /action-execute → transação para conta conectadaQuando usar:
import { NextResponse } from "next/server";
export async function GET() {
return NextResponse.json({
type: "action",
icon: "https://example.com/icon.png",
title: "Vote on Proposal 1",
description: "Cast your governance vote",
label: "Vote",
});
}
export async function POST(req: Request) {
const { account } = await req.json();
if (!account) return NextResponse.json({ error: "missing account" }, { status: 400 });
// construa e retorne { transaction: "<base64>" }
return NextResponse.json({ transaction: "BASE64_TX" });
}O que isso demonstra:
| Campo | Propósito |
|---|---|
| title | Título do cartão |
| icon | URL de imagem HTTPS |
| label | Texto do botão |
| transaction | Tx wire em Base64 |
| Alternativa | Use quando | Não use quando |
|---|---|---|
| Apenas deep link | Integração com carteira única | Blinks multiplataforma |
| dApp em navegador in-app | Controle total da UX | Campanhas virais de compartilhamento |
Providers no layout.tsx do cliente; páginas misturam componentes server e client.
Ambiente do servidor apenas para keypairs; NEXT_PUBLIC_ para URLs RPC.
Todos os exemplos usam @solana/kit, não web3.js v1.
Assinatura apenas em componentes cliente.
Revalide leituras on-chain com cuidado - a chain é a fonte da verdade.
Endpoints HTTPS retornando JSON do Solana Actions.
App React Native separado com MWA.
Surfpool para integração; mock RPC em testes unitários.
Arquivos de ambiente e IDs de programa separados.
Decodifique logs de simulação para mensagens voltadas ao usuário.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026