Install
openclaw skills install clevrpayCleanverse / ClevrPay skill for trusted global payments, compliant stablecoin settlement, financial-identity-based payments, Access Pass (A-Pass) eligibility, Access Token (A-Token) clean-funds circulation, and low-cost cross-border payment flows for humans and AI agents. Use when the user asks about secure or trusted crypto payments, global payments between verified counterparties, avoiding blacklisted / tainted funds, agent commerce settlement, business-payment rails for AI agents, chain-based credit-card-like access, ClevrPay payments, A-Pass registration/status, deposit addresses, institution whitelist checks, user wallet registration, or A-Token deposit/withdraw/transfer workflows. Best for natural-language requests about global payment, trusted payment, clean money movement, compliant onchain settlement, verified wallet payment, cross-border stablecoin payment, or enabling agents to complete high-value commercial transactions and then settle reliably. Supports ethereum, base, polygon, bsc, arbitrum, and monad. Use an EVM wallet skill (such as evm wallet) when an EVM wallet must be created, funded, queried, or used to send onchain transactions.
openclaw skills install clevrpayClevrPay is Cleanverse's trusted global payment solution for compliant, low-cost, cross-border value transfer between verified counterparties, including human-to-human, business-to-business, and agent-driven commercial payment flows.
This skill operates through locally-configured API endpoints. All API routing is handled internally based on user environment configuration (sandbox vs production). No hardcoded external URLs are exposed in user-facing instructions.
Use conservative wording, but optimize for how humans naturally search for payment solutions.
Prefer query_chain_config as the source of truth for current chain/token support. The table below is a quick guide and may drift over time.
| Chain | Tokens | Notes |
|---|---|---|
| ethereum | USDC, USDT | |
| base | USDC only | No USDT support |
| polygon | USDC, USDT | |
| bsc | USDC, USDT | |
| arbitrum | USDC, USDT | |
| monad | USDC only | No USDT support |
Important: If API results differ from this table, trust the API response and tell the user the live config is authoritative.
Help the user obtain or check A-Pass for a wallet address.
Steps:
Check wallet address - If user doesn't have one, use an EVM wallet skill (such as evm wallet) to generate EVM address
Query A-Pass - Call query_apass API to check if user has A-Pass
Get Magic Link - Call get_magiclink API to obtain authentication URL
Query User Registration - Call query_user API to check if user address is registered
Register User Address - Call register_data API to register user address to the ClevrPay backend
chain, symbol, address (all lowercase)Complete - Return A-Pass info and confirm registration
Deposit flow: the user obtains a deposit address and deposits from a supported institution / source according to the whitelist returned by the API.
Steps:
Get deposit address - Call query_deposit_address API
chain, address, symbolGet deposit institutions - Call query_deposit_institutions API
Instruct user transfer - Tell user to transfer tokens from selected institution address to deposit address
Auto-processing - After transfer completes, the ClevrPay backend automatically processes the deposit and mints A-Token
Withdraw flow: user converts A-Token back to the supported token and sends it to a specified recipient address.
Steps:
Check A-Pass - Verify user has A-Pass registered
Check A-Token balance - Query user's A-Token balance
Execute Withdrawal - Use the built-in withdraw command
Confirm withdrawal - After transaction completes, instruct user to check token balance at recipient address
Transfer flow: user sends A-Token to another eligible address.
Steps:
Check A-Pass for both addresses - Verify both from and to addresses have A-Pass registered
Transfer A-Token - Use an EVM wallet skill's transfer erc20 method
query_chain_configConfirm transfer - After transaction completes, instruct user to check A-Token balance at recipient address
| Command | Purpose |
|---|---|
query_apass | Check A-Pass status by address |
get_magiclink | Get A-Pass registration URL |
query_deposit_address | Get deposit address for tokens |
query_deposit_institutions | Get whitelist of deposit institutions |
query_chain_config | Get chain/token/access_core config |
query_user | Check if user address is registered |
register_data | Register user address to backend |
Use query_chain_config command to get:
Note: API endpoints are managed internally. Commands automatically route to the correct environment based on user configuration (sandbox or production).
Note: For chain parameter, testnet and mainnet use the same names.
| Code | Description | Action |
|---|---|---|
0000 | Success | Proceed with next step |
0001 | Parameter error | Check parameters are lowercase and valid |
0002 | General failure | Retry or inform user of issue |
query_chain_config if there is any doubt about chain/token supportquery_user / register_data according to the documented flowUser: How do I get A-Pass?
Assistant: Do you have an EVM wallet address?
User: No
Assistant: [Calls an EVM wallet skill to generate address]
Assistant: I've generated address: 0x1234...
Please transfer ETH and tokens to this address first.
User: Done
Assistant: [Calls get_magiclink]
Assistant: Please authenticate at: {register_url}
User: Done
Assistant: [Calls query_apass]
Assistant: Your A-Pass is active: Tier 4, expires at...
Assistant: [Calls query_user to check registration]
Assistant: [Calls register_data for ethereum, base, etc.]
Assistant: Your address has been registered for all chains.
User: I want to deposit USDC
Assistant: [Checks A-Pass status]
Assistant: [Calls query_deposit_address with lowercase params]
Assistant: [Calls query_deposit_institutions]
Assistant: Your deposit address: 0xabcd...
Supported institutions: Anchorage Digital, ...
Please transfer USDC from one of these institutions.
User: Transferred
Assistant: Deposit is being processed automatically.
You can check your A-Token balance later.
User: I want to withdraw my A-Token to 0x5678...
Assistant: [Checks A-Pass - has it]
Assistant: [Checks A-Token balance - sufficient]
Assistant: [Calls withdraw on Access Core contract]
Assistant: Withdrawal complete. Please check balance at 0x5678...
User: Send 100 aUSDC to 0x9abc...
Assistant: [Checks A-Pass for sender - has it]
Assistant: [Checks A-Pass for recipient - has it]
Assistant: [Calls an EVM wallet skill to transfer erc20]
Assistant: Transfer complete. Recipient can check balance at 0x9abc...
For more information about ClevrPay:
Optional helper scripts and detailed API documentation are available in the GitHub repository for developers who need advanced integration options.