Check currencies and assets
Use documented capability checks to keep fiat currencies, crypto assets, and product constraints inside supported bounds.
Currency and asset checks keep your product UI honest before a hosted or approved product flow starts. The audited 0Gate surface provides currency and asset capability endpoints for hosted sessions; 0Base exposes settlement-currency and network capabilities; 0Pools availability belongs to the approved liquidity guides.
Intersect 0Gate support with your product policy
Capability results tell you what a product surface can support. Your app may still narrow the list by product, account tier, geography, compliance review, or business policy.
Discovery path
What to check
| Input | Use it for | Notes |
|---|---|---|
| Country | Narrow fiat and asset options. | Use an explicit profile or user choice where possible. |
| Flow side | Separate buy/on-ramp support from sell/off-ramp support. | Do not assume an asset is supported in both directions. |
| Fiat currency | Build amount selectors and quote preview inputs. | Re-check if country changes. |
| Asset symbol | Validate token choices and single-asset routes. | Retrieve a single asset only after checking the broader list. |
| Network | Keep wallet and asset constraints aligned. | Validate wallet format in your own app before session creation. |
Server pattern
async function buildSupportedPairSet(input: {
countryCode: string;
flow: 'on_ramp' | 'off_ramp';
}) {
const [currencies, assets] = await Promise.all([
gateCapabilities.currencies({ countryCode: input.countryCode }),
gateCapabilities.assets({ side: input.flow, countryCode: input.countryCode }),
]);
return productPolicy.intersect({
countryCode: input.countryCode,
currencies,
assets,
product: 'wallet_top_up',
});
}State to store
| Record | Why |
|---|---|
| Capability check id | Lets support explain why a flow was hidden or allowed. |
| Country, flow, currency, asset | Reconstructs the decision inputs without storing sensitive browser state. |
| Supported result | Makes retries and refreshes deterministic for the attempt. |
| Checked timestamp | Lets you expire stale option lists. |
Guardrails
- Do not reuse an asset result across different countries or flow sides.
- Do not put unsupported asset values into session creation as a browser override.
- Do not expose provider, venue, liquidity, or route-selection details when an asset is unavailable.
- Do not treat a quote preview as proof that a final hosted session will complete.
Related pages
Check supported countries
Start with the country context before listing money movement options.
Run eligibility checks
Combine country, fiat, asset, and region signals into a final pre-session decision.
Preview quotes before checkout
Use supported pairs for indicative pricing before the hosted flow starts.
Pre-fill and constrain a session
Bind supported values onto the server-created session.