Skip to content
JuicePay
Quick answers

The questions teams actually ask

Short, direct answers. Where a question deserves a longer treatment, we link to the documentation section that covers it properly.

Getting started

How long does integration take?+

A hosted checkout or payment link takes an afternoon. A full API integration with webhooks, idempotent retries and reconciliation typically takes one to two weeks of engineering time, most of which is your own ledger work.

Do I need production funds to start?+

No. Sandbox accounts are seeded with 25,000 USDC, 10,000 USDT, 5 ETH and 250 SOL, and every settlement can be triggered deterministically rather than waited for.

Which networks are supported?+

Base, Arbitrum, Solana, Ethereum, Polygon, Avalanche, Optimism, Tron and three others, with new networks added behind a documented allowlist. Native receive addresses exist on every supported network.

Can I migrate from another provider?+

Yes, and we support parallel running. Keep your existing provider live while JuicePay handles a subset of traffic, then shift volume once your reconciliation matches. Contact sales and we will plan the cutover with you.

Money and settlement

When is a payment actually final?+

By default a payment reaches succeeded at finality, not at inclusion — the point at which reverting it would cost more than it is worth. For digital goods where latency matters, you can opt into announcing at inclusion and accept the reorg risk explicitly.

What happens if a network reorganises?+

If you are on the default finality-based settlement, nothing visible happens — you were never told it succeeded. If you opted into inclusion-based announcement, you receive payment_intent.reverted and the ledger entries are reversed automatically.

Can a transfer be recalled?+

No. Onchain transfers are final once settled. Cancellation is only possible before broadcast. This is why recipient screening is applied before a payout is created rather than after.

How do I know which chain a payment landed on?+

Every leg reports its chain, transaction hash and confirmation count. Balances are per asset rather than per chain, but a per-chain drill-down is available whenever you need to reason about consolidation cost.

Fees

How are network fees charged?+

At raw gas with no markup, itemised as a separate ledger entry. On inbound checkout we sponsor the fee so customers need no native token; the cost still appears on your ledger as one line.

Is there a fee on internal transfers?+

No. Moving value between your own sub-accounts is free, as are stablecoin-pair conversions on the Scale plan.

Do failed payouts cost anything?+

No. You are only charged for legs that reach a terminal settled state. A leg that fails permanently — a bad address, a failed screening — costs nothing.

Security and compliance

Who controls the private keys?+

No single party holds a complete key. Signing authority is split across independent parties using MPC, backed by FIPS 140-2 Level 3 hardware modules with attested firmware.

What certifications do you hold?+

SOC 2 Type II, ISO 27001, and PCI DSS Level 1. The platform is penetration tested quarterly, and reports are available under NDA.

Can I restrict who can move funds?+

Yes. Budgets per team, per-recipient allowlists, velocity caps and N-of-M approval quorums all run in the policy engine before a transfer is broadcast, not after.

Is there an audit log?+

Every movement is attributable to a named person and an immutable log entry. Logs are exportable and can be streamed into your own SIEM.

Troubleshooting

Why am I getting idempotency_key_reuse?+

The same idempotency key was sent with a different request body. This is almost always a key derivation bug on your side — the key must identify the logical operation, not just the request. We return 409 rather than silently ignoring the new body because it is a real defect worth surfacing early.

A payment arrived but my balance did not change.+

Check whether it arrived on a chain you accept. A payment on an unaccepted chain produces payment_intent.unsupported_chain and no credit. If the chain is accepted, check pending versus available — value seen onchain but not yet final sits in pending.

My webhooks stopped arriving.+

Check the endpoint status and the delivery log. An endpoint returning 410 Gone is disabled permanently, and one returning sustained 4xx is failing fast rather than retrying. Deliveries are retained for seven days and can be replayed over any window.

Why is available lower than I expected?+

Compare available against reserved. Funds held against a working limit order or a batch awaiting approval are reserved rather than available, and cannot be spent twice.