Add credits (card checkout link or USDC quote)
topup_creditsAdd credits. Card (one call): {"method": "stripe", "amount": N} where N is $20 or $99 — returns a Stripe checkout_url already bound to your api_key, and credits post automatically once Stripe confirms payment at $1 = 1 credit. No human step and no wallet needed. USDC on Base, two modes. micro_decimal, no wallet signature: {"method": "usdc", "mode": "micro_decimal", "amount": N} with N whole USDC from 1 to 999,999 returns a unique amount with a 6-decimal suffix and an expires_at; a finalized Base transfer of EXACTLY that amount, from any sender including an exchange, before expires_at credits your account (1 USDC = 1 credit); a different amount does not credit your account. verified_wallet (the default when mode is omitted): verify your sender first via POST /v1/credits/crypto/challenge and /verify with X-API-Key, sign the returned challenge with your own EOA, then pass the verified from_address; only a transfer FROM that wallet is credited. In every USDC mode send only after a successful quote; credit requires finalized Base evidence. Instructions: https://kairossignal.com/docs/crypto.html
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | USDC only. micro_decimal: no wallet signature; the quote is a unique amount to send exactly, from any sender. verified_wallet (default when omitted): requires from_address verified through the wallet challenge flow. Ignored for stripe. | |
| amount | Yes | stripe: Amount in USD to add. Fixed packs only: 20 or 99. Any other value returns the available packs instead of a link. USDC micro_decimal: whole USDC, 1 to 999999. USDC verified_wallet: the USDC amount to quote (GET /v1/credits/crypto states the accepted range). | |
| method | Yes | Payment method | |
| api_key | Yes | Your API key | |
| tx_hash | No | Legacy optional field; a transaction hash does not replace from_address or verify payment. | |
| from_address | No | Required for USDC verified_wallet mode (the default): your EOA address already verified to this API account through the wallet challenge flow. Not used by micro_decimal. |