Tahan potongan router sampai panggilan final.
Agen membayar sebuah tool 0,05 USDC lewat HTTP 402. Router yang mengirimnya ke sana mendapat 10%, dicadangkan on-chain sehingga tool tidak bisa memakainya. Setelah jendela refund 10 menit, siapa pun bisa mencairkannya, dan dana hanya bisa sampai ke router. Pengguna pertama adalah agen. Manusia tidak ada di alur ini.
Non-kustodian dan open source. Aturan dana dan pembayaran dijalankan program di Solana mainnet; relayer memverifikasi setiap pembayaran sebelum dicatat.
Ikuti satu potongan router
commish · usdc- Trafik
- Contoh: 1.000 panggilan berbayar · 50,00 USDC
- Potongan router 10%
- 5.00 USDC
- Penerima
- Router
10
Jendela refund
Contoh simulasi, bukan trafik nyata: agen membayar tool untuk 1.000 panggilan lewat satu router. Catat untuk mencadangkan potongan router.
Alamat program, sedang di-deploy
Ukuran program
Instruksi
Uji serangan dan alur
Lisensi
Agen membayar per panggilan. Router dibayar atas dasar percaya.
Bayar router seketika, bayar juga yang gagal
Panggilan bisa gagal, timeout atau di-refund. Tool yang membayar router di setiap pembayaran ikut membayar komisi untuk panggilan yang nanti dikembalikan.
Tahan potongannya, router harus percaya spreadsheet
Kalau tool menahan potongan sampai yakin, router tidak punya catatan apa yang menjadi haknya dan tidak bisa menagih kalau tool berhenti membayar.
Kecepatan mesin, administrasi manusia
Agen melakukan ribuan pembayaran 5 sen. Invoice, batas minimum payout dan penyelesaian bulanan tidak cocok, dan tidak ada orang yang menekan tombol setuju.
Cara kerja
Bayar, catat, tahan, cairkan
01
Bayar
Agen meminta rute berbayar dan menerima 402 Payment Required. Agen membayar 0,05 USDC ke vault campaign, dengan memo yang menyebut router pengirimnya.
02
Catat
Relayer membaca pembayaran itu on-chain lalu mencatatnya. Program menghitung 10% untuk router dari tarif campaign dan mencadangkannya di akun tersendiri.
03
Tahan
Dalam jendela 10 menit, panggilan yang di-refund masih bisa dibatalkan, dengan refund on-chain sebagai bukti. Setelah jendela tutup, potongan itu menjadi utang.
04
Cairkan
Siapa pun lalu bisa mencairkannya. Dana hanya bisa sampai ke akun USDC router, dan rent akun kembali ke pembayarnya.
Jaminan
Aturan yang tidak bisa dibengkokkan tool
Program memeriksa setiap aturan, dan rangkaian tes menyerang setiap aturan.
Dana terutang tetap terkunci
Penarikan hanya bisa menyentuh bagian vault yang tidak dicadangkan untuk router.
Satu pembayaran, satu potongan
Alamat komisi berasal dari hash tanda tangan pembayaran, jadi program menolak pencatatan kedua selama potongan masih terbuka. Setelah ditutup, relayer memeriksa riwayat on-chain alamat itu dan menolak pembayaran yang sama.
Hanya attestor yang mencatat
Setiap campaign menunjuk satu kunci attestor, yaitu relayer. Jumlahnya dihitung dari tarif campaign, bukan dari pemanggil.
Pembayaran tidak bisa dialihkan
Pencairan hanya membayar akun token penerima saat ini, dalam token campaign itu sendiri.
Tidak ada pembatalan setelah jendela
Setelah jendela refund lewat, potongan hanya bisa dibayar.
Jalan tanpa situs ini
Pencairan tidak butuh izin. Kalau situs ini offline, router tetap bisa menagih.
Cair lebih awal
Jual potongan tertunda untuk USDC sekarang
Potongan yang ditahan adalah uang terutang pada tanggal tertentu. Untuk tool dengan jendela refund lebih panjang, router bisa menjualnya dengan sedikit diskon ke pembeli yang membayar sekarang dan menagih saat pencairan. Pembeli juga mengambil alih risiko refund.
Selesai dalam satu transaksi: pembeli membayar router, dan pembeli menjadi penerima. Tidak ada hal lain yang berubah.
Router terima hari ini
48.75
Pembeli terima saat cair
50.00
Imbal hasil tahunan pembeli133.7%
Untuk tool
- Tagih agen per panggilan lewat HTTP 402, dalam USDC
- Bayar router untuk trafik: program yang menahan potongan, bukan Anda atau mereka
- Atur potongan dan jendela refund sekali per campaign
- Pembayaran itu sendiri mengisi vault: tidak perlu modal USDC
- Tarik bagian yang tidak dicadangkan kapan saja
Untuk router
- Sebut diri Anda di memo pembayaran: commish:<wallet Anda>
- Setiap potongan yang Anda dapat, terlihat on-chain
- Dibayar ke wallet Anda saat jendela tutup
- Tetap bisa menagih walau tool berhenti merespons
Integrasi
Catat panggilan berbayar
Relayer menandatangani satu instruksi per pembayaran yang sudah diverifikasi. Hash order adalah SHA-256 dari campaign dan tanda tangan pembayaran, jadi pembayaran yang sama selalu menunjuk ke alamat komisi yang sama.
// The relayer, after it has read a successful USDC transfer into the vault.import { recordSaleIx, COMMISSION_LEN } from "./commish/program";import { createHash } from "node:crypto";// The order hash is bound to the payment signature; the relayer also refuses a payment whose closed commission was recorded before.const hash = createHash("sha256").update("commish:x402:" + campaign + ":" + paymentSig).digest();const { instruction } = await recordSaleIx({attestor: relayer.address, // the key named by the campaignpayer: relayer.address, // rent for the commission accountcampaign,vault,orderHash: hash,orderAmount: 50_000n, // 0.05 USDC paid by the agent, 6 decimalscreator: router, // from the payment memo commish:<router>lamports: await rpc.getMinimumBalanceForRentExemption(BigInt(COMMISSION_LEN)).send(),});await sendAndConfirm([instruction], [relayer]); // your usual send helper
Pertanyaan
Vault campaign: akun token USDC milik alamat campaign. Hanya program yang bisa memindahkan dana keluar, dan hanya menurut aturan di atas.
Bayar router untuk trafik agen, potongannya ditahan on-chain.
Panggil endpoint 402 yang live, atau buat campaign dengan wallet Solana apa saja.