Overview
When the wallet paying a secure payment is an existing Gnosis Safe multisig, the payment cannot be broadcast in a single signature โ it has to be proposed on the Safe, signed by the required owners, and then executed. Request Network supports this flow directly: you ask the calldata endpoint for Safe-ready transactions, execute them on your Safe off-platform, and then hand the resulting Safe transaction hash back to the API so it can track settlement. This is distinct from the smart-account path on the hosted secure payment page, which derives its own ERC-4337 account automatically. Use the flow on this page when your own payer wallet is a Safe and you execute the transaction yourself.Safe multisig payments are EVM-only. They are not supported on Tron โ requesting Safe calldata for a Tron network returns a 400.
How it works
Request Safe-ready calldata
Call
GET /v2/secure-payments/:token/pay with isSafe=true and wallet set to the Safe address. The API returns calldata sized and priced for a Safe (it includes the required approval transactions and skips the EOA native-gas balance check).Propose and execute on your Safe
Propose the returned transactions to your Safe, collect the required owner signatures, and execute. This happens entirely on your side using your Safe tooling โ Request Network does not custody keys or co-sign.
Record the Safe transaction
Once the Safe transaction is created, tell the API to start tracking it by calling Exactly one of
POST /v2/secure-payments/:token/intent with safeTxHash (instead of txHash).txHash or safeTxHash must be provided. safePaymentDeadline is optional (Unix seconds) and can only be sent alongside safeTxHash.Poll for settlement
While the Safe transaction is pending execution,
GET /v2/secure-payments/:token returns HTTP 423 (Locked) with the message Secure payment is in progress and a requestStatuses[] array carrying safeTxHash, chainId, and safePaymentDeadline. Request Network resolves the Safe transaction in the background: once executed it records the real on-chain transaction hash and confirms the payment; if it fails or the deadline passes, the payment is marked failed.Request fields
GET /v2/secure-payments/:token/pay
The Safe address that will execute the payment. Used for balance and approval calculation.
Set to
true to prepare calldata for a Gnosis Safe multisig payer. Mutually exclusive with eoaWallet; wallet must be set to the Safe address.Source chain for cross-chain payments. Values:
BASE, OPTIMISM, ARBITRUM, ETHEREUM, POLYGON, BNB. Provide together with token.Source currency for cross-chain payments. Values:
USDC, USDT. Provide together with chain.POST /v2/secure-payments/:token/intent
The Safe transaction hash to track. Provide either
safeTxHash (Safe multisig flow) or txHash (already-broadcast on-chain hash) โ exactly one.Unix timestamp (seconds) โ the hard on-chain execution deadline for the Safe + cross-chain route. Only valid alongside
safeTxHash; the API stops tracking once this passes.Source chain. Values:
BASE, OPTIMISM, ARBITRUM, ETHEREUM, POLYGON, BNB.Source token. Values:
USDC, USDT.Optional address of the wallet making the payment. Echoed back on the response.
Status while a Safe payment is in progress
423 as โkeep pollingโ โ the Safe transaction has been recorded but not yet executed on-chain. Once Request Network detects execution, the request flips to paid (and GET /v2/secure-payments/:token returns the completed state); a payment.confirmed webhook fires as usual.
Related
Secure Payments API Reference
Full request/response schemas for the secure payment endpoints.
Smart account payments
The automatic ERC-4337 path on the hosted page (for EOA payers).