Skip to main content
When creating a Pay Link via API the following request body is required
  • Configure multiple recipients and currencies if needed. The recipient currency can differ from the pricing currency. You can retrieve the currencyId from this endpoint, and see here for how to retrieve your walletId.
    • For instance, you could price the link in EUR (e.g., €5) while accepting USDC or USDT as recipient currencies.

Example Query

Note: In this basic example, pricingCurrency and currencyId are the same, but they don’t have to be. For example, you can price the Pay Link in USDC and receive SOL — Helio handles the conversions on your behalf.

Token swaps

With token swaps enabled, customers can pay using supported tokens; funds are swapped and settled into USDC on the network(s) you choose via each recipient’s currencyId (0.25% swap fee). Use features.canSwapTokens set to true. For the full product explanation, see No Code — Token Swaps. Resolve each currencyId from Get All Currencies and each walletId from Get wallets or the dashboard.

USDC on Solana only

All swapped proceeds settle to USDC on Solana (single Solana USDC recipient).

USDC on Base & Solana

EVM payment flows settle to USDC on Base; Solana flows settle to USDC on Solana. Add two recipients: one for Solana USDC (your Solana wallet) and one for Base USDC (your EVM wallet on Base). Use a distinct currencyId per chain from the currency list. pricingCurrency can match either USDC (here: Solana USDC).
For advanced use cases, here is the full list of possible request body options.

Response Body Example