{ "statusCode": 201, "success": true, "status": "payment_registered", "message": "Payment has been registered", "data": { "payment_id": "cmodi78b2000101pjezst1ics", "session_payment": "https://app.starknode.io/sessions/payment?token=<jwt>", "crypto_tx": { "schema_version": 1, "family": "evm", "chain_name": "arbitrum", "transactionRequest": { "from": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F", "to": "0x23183C87c9c6668edf5974893905AF475c3664c9", "data": "0x40180def...", "value": 0, "chainId": 42161, "gasLimit": "82499", "maxPriorityFeePerGas": "0", "maxFeePerGas": "52514800", "nonce": 36 }, "meta": { "source": "evm_split" } }, "fiat_tx": { "message": "This details is available only for fiat payments" } }}
StarkPay
Create Transaction
Generate a transaction from a registered payment order. The required parameters vary by transaction type — always validate the type before building the request.
Direct on-chain submission is not allowed and may result in failure or rejection. All transactions must be signed locally and then submitted exclusively through the Broadcast endpoint.
After receiving crypto_tx, sign it with the user’s wallet before broadcasting.
import { Connection, Transaction, Keypair } from "@solana/web3.js";const connection = new Connection("https://api.mainnet-beta.solana.com");const keypair = Keypair.fromSecretKey(secretKey);// Reconstruct transaction from crypto_tx dataconst transaction = Transaction.from(Buffer.from(crypto_tx.serialized, "base64"));transaction.sign(keypair);const signedTx = transaction.serialize().toString("base64");console.log("Signed transaction:", signedTx);
You can use an external wallet provider like Privy.io to sign transactions without exposing private keys. Never call sendTransaction directly — always go through the broadcast endpoint.
Pass the returned id as card_data.card_token in the create transaction request.
Card payment support is currently limited to CardCrypto. Only one-time transactions are supported. Enablement requires a minimum lead time of 7 days and must be aligned in advance with the sales team. To use any payment method involving the traditional financial system (PIX, fiat, card), complete KYC/KYB procedures with the account management team.