Na lição passada você ligou cada degrau em um workspace só e viu uma jornada de comprador inteira, de sete pernas, passar na devnet, com o verificador afirmando cada perna conforme ela aterrissava. A loja está de portas abertas. O que quer dizer que esta lição não tem mais nada para construir, e eu não vou fingir o contrário. Nenhuma API nova, nenhum degrau novo. O que você ganha no lugar é a coisa que todo curso te deve no final e que a maioria nunca entrega: um mapa honesto de onde você está pisando, datado, com as partes que se mexem marcadas como em movimento. A gente vai percorrer o mapa de conceitos uma última vez, riscar uma linha dura na tabela de versões entre o que está congelado e o que ainda está em movimento, nomear os cursos irmãos que são donos da profundidade que este aqui adiou de propósito, e fechar a moldura que a gente abriu na primeiríssima lição. Ainda tem uma coisa para fazer no seu terminal, e ela vem primeiro.
Rode isto. É o último comando que este curso vai te pedir logo de cara:
curl -sI https://github.com/solana-labs/solana-pay | grep -i '^location'
# location: https://github.com/solana-foundation/pay
Esse 301 é por onde você entrou. O módulo um abriu com você decodificando o dólar de 3.6 centavos de um estranho na mainnet, e alguns minutos depois você conheceu o repo por trás do @solana/pay e aprendeu a história dele: o repositório canônico do Solana Pay, um dia a casa do checkout por QR para humanos, hoje redireciona para um repo da Foundation chamado simplesmente pay, cujo produto de destaque é um CLI de agentic payments. Rode npm i @solana/pay numa pasta de rascunho hoje — local, como sempre; a proibição de -g do módulo um continua de pé — e você instala aquele binário de CLI junto com a biblioteca de checkout (redirect e README verificados em 2026-08-21, e o redirect acima acabou de se reverificar na sua máquina). A moldura com que este curso abriu, o repo que mudou de lado, é a moldura em que ele fecha. Esse redirect é a tese inteira desta lição final comprimida em um header HTTP: os trilhos em que você acabou de construir estão vivos, e vivo quer dizer em movimento.

Então, antes da gente falar do que se mexe, olhe para o que você atravessou. Nove módulos, e eles nunca foram um saco de gatos; eles eram um argumento só, cada módulo consertando o limite que o anterior expôs. Você aprendeu os trilhos e o que o sem-chargeback faz com o dinheiro. Você construiu o kit de transferência que todo degrau posterior importou. Você pôs checkout na frente de humanos de três jeitos: página de QR, barraca de feira, blink. Você construiu o back office que não confia em nenhum frontend e verifica todo pagamento no servidor. Você cobrou em um cronograma sem custódia. Você atravessou a fronteira fiat nas duas direções e aprendeu a perguntar quem é merchant-of-record em cada costura. Você mediu uma API para compradores máquina por dois protocolos. Você patrocinou taxas, enfileirou vendas offline e passou por um gate de produção. Depois você ligou tudo isso na Wavelength e viu uma jornada de comprador percorrer ela inteira.

Cada um desses movimentos foi entregue contra versões fixadas, e aqui está a parte que importa agora: esses pins não envelhecem na mesma velocidade. Alguns já pararam de se mexer. Alguns tinham dias de vida quando este curso foi escrito. Tratar essas duas categorias como iguais é o erro mais caro que você pode levar embora daqui.
Pegue a tabela de versões do curso e risque uma linha através dela.
Do lado congelado ficam a spec v1 do Solana Pay e a stack inteira de blinks. A página da spec é visivelmente safra 2023; ela ainda solta os nomes de FTX e Slope nos exemplos de carteira, o que soa alarmante até você entender o que aquilo quer dizer. O formato de URL de transfer request não precisou mudar, então não mudou. O seu checkout por QR do módulo três roda em cima de um formato de transmissão que está estável há anos. Mesma história uma prateleira ao lado: @dialectlabs/blinks publicou pela última vez a 0.22.5 em abril de 2025, @solana/actions publicou pela última vez a 1.6.6 em novembro de 2024, e a spec de actions está na 2.4.2 (as três rechecadas contra o npm em 2026-08-23, inalteradas). Mais de dezesseis meses de silêncio.
Agora a cilada, e é exatamente a que o quiz anexado a esta lição vai cobrar de você: congelado não quer dizer morto. Congelado quer dizer estável. Uma spec que parou de mudar porque funciona é a dependência mais segura que você tem; os nomes de campo que o seu endpoint de blink serve vão parsear daqui a três anos. O instinto que você traz da cultura npm, onde um pacote sem toque há um ano cheira a abandono, aponta exatamente para o lado contrário quando o assunto é superfície de protocolo. O formato de URL do Solana Pay e a spec de actions são as duas coisas da sua stack com MENOS chance de quebrar debaixo de você. Não reescreva código de checkout que funciona só porque a página da spec dele nomeia uma exchange morta.
A prateleira em movimento é a história oposta, e você deveria sentir a diferença de temperatura. O @solana/subscriptions estava na 0.5.0, publicada em 2026-08-10, e o build v0.5.0 correspondente do programa Delegation foi deployado na mainnet no mesmo dia, como o módulo cinco te contou na época: essa data é o deploy da v0.5.0, não a estreia do programa na mainnet, e o client pelo qual o seu clube do disco do mês cobra ainda tinha dias de vida quando você aprendeu sobre ele. Os pacotes do x402 estavam na 2.23.0, publicada em 2026-08-18, cinco dias antes da data de escrita deste curso. O CLI pay com que você pôs o gate na API de preço de prensagem marca releases mais rápido do que a maioria das pessoas lê changelogs. E o MPP nem é um padrão lançado, em nenhuma das suas duas camadas: o esquema base é um Internet-Draft da IETF, draft-httpauth-payment-00, que formalmente expira em 2026-12-21, e a metade Solana contra a qual você pôs o gate, draft-solana-charge-00, é uma spec de método de pagamento que não tramita na IETF de jeito nenhum e se mexe sempre que o repo dela se mexe. Tudo nesta prateleira vai ter se mexido na hora em que você entregar esta stack para um colega. A única pergunta é o quanto.
Aí tem o @solana/kit, a única peça em movimento que você já aprendeu a administrar. A tag latest do npm marca 8.2.0 (re-checado em 2026-08-29), enquanto os seus workspaces seguram de propósito a linha 6.10 onde o @solana/pay exige, e a linha 7.1 onde o client de subscriptions exige, um pin por workspace em cada package.json (o npm escreveu eles como ranges de caret, que seguram o major — e é o major que importa para a conta de peer). Essa foi a lição de costura do módulo cinco, e repare no que ela te ensinou sem dizer: uma dependência em movimento não é uma ameaça quando você fixa por workspace, registra o porquê, e nunca escreve a palavra latest em lugar nenhum. Você vem treinando para a prateleira em movimento esse tempo todo.

O que nos leva à segunda cilada, a que este curso vem treinando em você em silêncio desde o módulo um: nunca cite um número em movimento de memória. Toda cifra macro deste curso chegou com uma fonte e uma data grampeadas nela. A oferta de stablecoins era um snapshot da DefiLlama com data, não um fato. O panorama de versões do kit era uma leitura de dist-tag com data. O hábito era a lição. Quando você citar a versão do client de subscriptions do trimestre que vem, ou o status do MPP, ou qualquer coisa da prateleira em movimento, você puxa ela de novo na hora de usar ou você diz que não puxou. Não existe terceira opção que te mantenha honesto.
Uma coisa no seu mapa não está nem congelada nem em movimento, porque não é software. Todo módulo que encostou em dinheiro de verdade esbarrou na mesma pergunta em uma forma diferente: quem é merchant-of-record? Na fronteira fiat ela decidiu quem carrega o KYC. No processamento de aceitação ela decidiu quem engole o compliance. Na aposta x402 contra MPP ela foi a linha que de fato separou os padrões. Aqui está a versão fria do porquê ela sobrevive a todo pin da sua tabela: o regulador não lê o seu package.json. Quando dinheiro se move e alguma coisa dá errado, a pergunta feita em toda jurisdição do planeta é quem era o lojista, e alguma entidade com nome vai ser a resposta, quer você tenha escolhido ela de propósito, quer você tenha caído nela por padrão. Protocolos vão girar debaixo de você pelo resto da sua carreira. Essa pergunta vai estar sentada na mesma cadeira, inalterada, toda santa vez. É a única peça deste curso que eu posso prometer que não vai precisar de reverificação em 2030.
E ela faz par com o fato estrutural que moldou todo o resto: aqui não existem chargebacks, por construção. Essa assimetria sozinha é a razão de os seus reembolsos serem pagamentos de push que você mesmo origina, de a verificação ser no servidor e final, de a sua postura de disputa não parecer nem de longe com a de uma integração de cartão. Taxas e velocidade são recursos. O chargeback que falta é a física.
Este curso fez cortes deliberados, e fez eles em voz alta. Cada corte tem um dono, e como não tem próxima lição para onde adiar, é aqui que eu te entrego as portas de verdade.
Landing de transação sob carga, a ciência da taxa de prioridade, bundles da Jito, ajuste fino de compute budget e indexação em escala além do webhook de um lojista só: este curso te deu a receita de uma caixa só e parou. Das portas abaixo, Digital Assets e Master Anchor V2 já estão publicadas; Client-Side Mastery, DeFi and RWA Engineering e Low-Level Solana são irmãos planejados ainda em produção — leia-os como um mapa de onde cada assunto vai morar, não como links para clicar já. O curso client-side planejado, aquele que todo repasse nestes nove módulos chamou de Client-Side Mastery, será dono desse território inteiro; as políticas de remetente com durable nonce que o seu fair-queue só pegou emprestado ficam naquela profundidade. As entranhas do Token-2022, a maquinaria por trás das oito extensões que você leu no mint do PYUSD no módulo dois, transfer hooks incluídos: esse catálogo é território do curso Digital Assets, Tokenization and Token Extensions. Stablecoins que rendem juros como a USDY, e profundidade de oráculo de verdade além da precificação de exibição: o curso DeFi and RWA Engineering. Por que finality funciona, o que confirmed e finalized de fato são por baixo da sua política de confirmação, e a reescrita de consenso que este curso marcou como roadmap lá no módulo quatro: Low-Level Solana. E se ver o programa Subscriptions te deu vontade de escrever programas em vez de só chamar eles, Master Anchor V2 é o curso de autoria de programas que este aqui nunca foi; lembre que a Wavelength foi entregue sem uma única linha de Rust.

Além dos cursos, mantenha uma lista curta de superfícies para acompanhar, porque a prateleira em movimento vai se mexer e é nelas que ela se anuncia. As tags de release do repo pay da Foundation, para o CLI e para a biblioteca de checkout, as duas. As páginas do npm dos pacotes de subscriptions e x402, onde um salto de versão é o seu sinal para reler um changelog antes de confiar em código do curso. O site do ecossistema x402, onde os logos dos adquirentes te contam para que lado a adoção pelos lojistas está pendendo; o dia em que o logo de um PSP grande aparece ou some de lá vale mais do que um trimestre de notícias de protocolo. O registro da Dialect, para saber se a história de renderização dos blinks acorda de novo. E o MPP toma duas entradas em vez de uma, porque as camadas dele se mexem de forma independente: a página do datatracker da IETF para o esquema base, draft-httpauth-payment, onde ou um -01 aterrissa ou a expiração chega primeiro, e o log de commits de tempoxyz/mpp-specs, que é o único lugar onde a spec de método solana/charge anuncia qualquer mudança. Seis superfícies, ainda vinte minutos por mês, e um lembrete no calendário ganha das boas intenções aqui; a deriva não se anuncia para quem não está olhando. É esse o custo inteiro de manutenção de ficar em dia com uma stack que você agora entende de ponta a ponta.
Aqui está o trade-off honesto deste curso inteiro, dito da forma mais direta que eu consigo. Tudo que você construiu é um snapshot de uma stack que está se mexendo rápido, e partes do snapshot foram tiradas no meio do sprint. Os pins vão apodrecer; alguns já começaram. O que não apodrece é o que os pins estavam ensinando. O padrão de integração, um servidor que precifica e monta enquanto um client só assina, sobreviveu intacto do checkout por QR do módulo três até o agente pagando um 402 no módulo sete, e qualquer padrão que ganhe a guerra dos pagamentos de máquina vai ser mais uma implementação desse mesmo formato. E a disciplina de verificar no servidor, nunca confiar na palavra de um frontend, de um webhook ou de uma carteira acima da do livro-razão, é o hábito que o seu verificador impôs em cada degrau, sem exceção, até ele parar de parecer disciplina e começar a parecer bom senso. Esses dois se transferem para stacks que ainda não existem. Leia esta conclusão como um mapa com uma data nele, não como um índice permanente. As estradas do mapa duram mais que as cidades dele.
Todo lab anterior te levou pela mão por alguma coisa. Este aqui não leva, e é esse o ponto dele: o repasse que este curso vem rodando desde o módulo um, cada lição deixando um pouco mais do trabalho com você, termina aqui em autonomia total. O ritual abaixo é o que você vai rodar sozinho, daqui a meses, antes de reusar qualquer parte desta stack. Quase só comandos, duas batidas curtas de escrita no fim. O julgamento é seu.

Sonde a própria moldura:
curl -sI https://github.com/solana-labs/solana-pay | grep -i '^location'
Espere o mesmo header location: que você rodou no topo desta lição. Um destino diferente, ou nenhum header, é o sinal mais alto possível de que o chão se mexeu.
Puxe de novo cada pin em movimento (não precisa instalar nada, npm view é só leitura):
npm view @solana/pay version
npm view @solana/subscriptions version time.modified
npm view @x402/core version
npm view @solana/kit dist-tags
Uma nota de leitura da lição um que continua valendo: o @solana/pay responde com a versão do wrapper npm (1.0.26 na escrita do curso), enquanto o cartão da prateleira acompanha a tag de release do próprio CLI (pay-v0.27.0), o binário que aquele wrapper baixa. Dois esquemas de versão, uma ferramenta só, nenhum dos dois errado; compare cada um contra a linha dele.
Espere quatro respostas que você não consegue prever daqui; essa imprevisibilidade é a definição da prateleira em movimento. Leve as quatro para o passo 4 em vez de julgar qualquer uma sozinha.
Prove que a prateleira congelada continua congelada:
npm view @dialectlabs/blinks version time.modified
npm view @solana/actions version time.modified
Espere 0.22.5 e 1.6.6, os mesmos dois números que esta lição citou. Se qualquer um dos dois se mexeu, a prateleira congelada acabou de descongelar, e esse é o resultado mais interessante que este ritual consegue produzir: vá ler o que acordou.
Compare cada resultado com o cartão de prateleira congelada e prateleira em movimento lá em cima; esse cartão é a tabela de versões do curso, não tem arquivo separado para caçar. Para qualquer coisa que se mexeu, ache e leia o changelog dela antes de rodar qualquer workspace do curso contra a versão nova. Não faça upgrade por reflexo; decida.
Escreva a sua própria tabela datada de frescor: pacote, versão que você observou, data e uma palavra, frozen ou moving. Faça commit dela no seu repo da Wavelength ao lado dos seus relatórios de gate; de agora em diante é ela, não esta lição, a tabela em que você confia.
Checkpoint: o seu repo contém uma tabela de versões datada de hoje, escrita por você, com todo pin em movimento re-observado e toda deriva anotada. Eu rodei exatamente este ritual em 2026-08-23 enquanto escrevia este fechamento: a prateleira congelada segurou exatamente, e a prateleira em movimento mostrou precisamente a deriva que esta lição já narra, o latest do kit no npm sentado dois majors à frente dos nossos pins, que é uma prateleira em movimento fazendo o que prateleiras em movimento fazem. A próxima observação é a sua.
Monte o seu plano de para-onde-agora, e deixe ele concreto o bastante para agir em cima. Cinco linhas, três colunas: a capacidade que este curso adiou, o curso irmão que é dono dela, e a única superfície do ecossistema que você vai acompanhar pessoalmente por causa dela. As cinco capacidades são fixas: landing de transação, entranhas do Token-2022, stables que rendem juros, entranhas de finality e autoria de programas. Os nomes dos cursos estão nesta lição. As superfícies são suas para escolher, e escolher elas é o exercício; uma superfície que você não vai de fato checar é uma resposta errada mesmo que seja tecnicamente relevante. Depois acrescente uma sexta linha para a coisa em que você pessoalmente mais quer se aprofundar, tendo ou não um curso dono dela. Aceite quando: cinco linhas certas, cinco superfícies para as quais você consegue nomear uma cadência de checagem, e a sexta linha te assusta um pouco.
Se o ritual trouxe deriva à tona, isso não é um defeito do curso; é o curso funcionando. Um pin que se mexeu mais a sua nota datada mais um changelog lido é exatamente a postura que esta stack exige, e é uma postura que a maioria dos integradores na ativa nunca desenvolve. Se alguma coisa na deriva quebrar um workspace do curso e o changelog não explicar, você tem um verificador que afirma cada perna de uma jornada de comprador; aponte ele para a quebra e deixe ele te contar qual degrau se mexeu. Essa bancada sempre foi o entregável de verdade.
Nove módulos atrás você puxou da mainnet o pagamento de 3.6 centavos de um estranho com uma linha de curl e sem permissão nenhuma. Hoje uma loja que você construiu recebe dinheiro de sete jeitos diferentes, verifica cada centavo no servidor, cobra sem custódia, vende para máquinas e sobrevive à feira sem sinal. Entre esses dois pontos, a própria porta de entrada do ecossistema mudou de lado, e você viu acontecer com uma sonda de redirect em vez de um boato. É essa a habilidade inteira, para ser honesto. Não os pins. O hábito de checar, datar e construir mesmo assim em cima de trilhos que se recusam a ficar parados.
Não tem próxima lição. Tem um mapa no seu repo com a data de hoje nele, cinco portas com nomes de curso nelas, e uma loja aberta. Para onde os trilhos vão daqui é em parte uma pergunta sobre protocolos, e esta lição te deu a resposta honesta: alguns estão congelados, alguns estão em movimento, puxe de novo antes de confiar. Mas é principalmente uma pergunta sobre você, e essa você acabou de responder na sexta linha de uma tabela. Vá construir a coisa que te assustou um pouco. Boas vendas.
Inscreva-se para fazer o quiz
O quiz faz parte do curso — inscreva-se para respondê-lo, acompanhar seu progresso e ganhar XP.