- Get payment options: list options the user can complete with their wallet/accounts
- Fetch an action: resolve “build” actions into wallet RPC actions when needed
- Confirm a payment: submit the selected option and the executed action results
Prerequisites
- API key: request access from WalletConnect
- You can do this by filling out this form and getting in touch with our team.
- Wallet identity headers (required on each request):
Sdk-NameSdk-VersionSdk-Platform
Payment flow
The payment flow mirrors the SDK flow, but you call the Gateway API directly: Get Options → (Fetch Actions) → Execute Wallet RPC → (Collect Data) → Confirm PaymentUnderstanding actions
Payment options can include an actions[] array. Each action tells your wallet what needs to happen next.
-
walletRpcactions- The Gateway gives you a wallet RPC payload (
chain_id,method,params) - Your wallet should execute it (sign / send), then record the output to submit in
results[]
- The Gateway gives you a wallet RPC payload (
-
buildactions- The action is not directly executable by the wallet
- Call Fetch an action to convert the
buildpayload into one or morewalletRpcactions
High-level steps
1) Get payment options
Call Get payment options for the givenpaymentId, passing a list of accounts (CAIP-10 / chain namespace format as provided by your wallet).
- Use this response to render:
- payment details (optionally, if
includePaymentInfo=true) - available
options[]the user can pick from - required
actions[]for the chosen option
- payment details (optionally, if
2) Fetch an action (only if required)
If an option contains an action of typebuild, call Fetch an action with that optionId and the data payload to resolve it into one or more executable actions (typically walletRpc).
3) Confirm a payment
After your wallet executes the requiredwalletRpc actions (sign/submit), call Confirm a payment with:
- the selected
optionId results[]: the output from each executed action (in the same spirit/order you performed them)- optional
collectedDataif the options response requested additional user info
If
isFinal is false, the response may include pollInMs. Use it to decide when to check again (see the API Reference for status/polling behavior).