Prepare a stablecoin payment within the rules
prepare_paymentPrepare an unsigned USDC or USDT transaction for the paying wallet you control, on Base, Arbitrum, Optimism, Polygon or BNB Chain, or USDT (TRC-20) on Tron (chain_id 728126428, T... addresses; TronLink signs it). SwapEazi screens the recipient's address and verifies the organisation's spend profile first: the cap per payment, the daily and monthly budget, approved recipients and chains, and the approval line. A person approves every payment an agent prepares: within the rules it returns an approval_id, the approver decides at /approvals, and once approved payment_controls with that approval_id returns the transaction (a plain transfer, or a swap or bridge with no SwapEazi fee) for your wallet to sign; outside the rules it explains why. Pass the map_id and candidate_id of the stablecoin option you took from discover_payment or map_options, so the approver sees what the guide showed for it and the records name the map; the guide never picks it. SwapEazi never signs, holds keys or moves funds. With private: true, the payment runs through NEAR Intents' confidential mode under the same rules; that is also the way between Tron and an EVM chain. With profile_id, needs the organisation's key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The recipient's address on the chain it receives on (0x, or T... on Tron), or your own deposit address at an off-ramp. | |
| from | Yes | The paying wallet's address: 0x on EVM chains, T... (base58check) on Tron. | |
| rules | No | Inline rules when no profile is used: max_per_payment_usd, approval_above_usd, daily_limit_usd, monthly_limit_usd, allowed_recipients, allowed_chains. | |
| token | Yes | The stablecoin paid from the wallet: USDC or USDT. | |
| amount | Yes | Amount to pay, in token units (1 = one USDC or USDT), greater than zero. | |
| map_id | No | The map_id from discover_payment or map_options. The map must not have expired. | |
| private | No | Pay privately through NEAR Intents' confidential mode: one transfer to a deposit address for your wallet to sign; settles in full or refunds to your wallet. The quote's signature and correlation id go into the signed record. Read progress with private_payment_status. | |
| chain_id | Yes | 8453 Base, 42161 Arbitrum, 10 Optimism, 137 Polygon, 56 BNB Chain, 728126428 Tron (USDT only). | |
| to_token | No | Optional. The stablecoin the recipient receives, when it differs from token: USDC or USDT. | |
| profile_id | No | prof_… from payment_controls; applies the organisation's budgets and approval line. | |
| to_chain_id | No | The chain the recipient receives on, when it differs from chain_id. To or from Tron (728126428) needs private: true. | |
| candidate_id | No | The stablecoin candidate in that map this payment takes. Bank candidates are sent by your bank or provider, not prepared here. | |
| destination_currency | No | The local currency the money is for, so local stablecoin rules are assessed, e.g. ZAR. |