bou-wallet
Use this skill when an external agent already has an agent API key and needs to call this backend directly with curl for three capability groups: (1) `POST /agent/pay-and-call` for x402-paid upstream requests. (2) `GET /agent/me` to inspect the current agent wallet/profile. (3) the `/hyperliquid` endpoints for status, balances, markets, asset data, funding, orderbook, positions, fills, ticker, order placement, cancellation, leverage updates, transfers, and withdrawals.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/0xcipher0/bou-walletBOU Wallet
Use direct HTTP requests with curl. Prefer this skill when the task is to operate this backend through an existing agent bearer key instead of building a separate SDK or CLI first.
First-time setup after install
If the user has installed this skill but does not have an agent API key yet, walk them through this setup first:
- Open
https://app.bankofuniverse.org/ - Sign in, then create an agent in the app
- Generate the agent API key, then copy it and use it as
AGENT_KEYin requests
If the user has not completed these steps yet, do not pretend the skill can run successfully. First help them obtain a valid ak_... key.
Required inputs
Collect these values before making any request:
BASE_URL: usehttps://api.bankofuniverse.org/unless the user explicitly gives a different backendAGENT_KEY: bearer token inak_...format
Treat the agent key as secret. Do not print, commit, or store it in repo files.
Common request pattern
Use the same bearer auth for all three capability groups.
curl -sS "$BASE_URL/..." \
-H "Authorization: Bearer $AGENT_KEY" \
-H "Accept: application/json"
For JSON request bodies, also add:
-H "Content-Type: application/json"
Most responses use the shared wrapper:
{
"code": 0,
"message": "",
"data": {}
}
Capability 1: x402 pay-and-call
Use POST /agent/pay-and-call when the agent needs to access an x402-protected upstream URL through this backend. Call this backend endpoint, not the merchant directly.
Body shape:
{
"url": "https://merchant.example.com/path",
"method": "GET",
"headers": {
"X-Custom-Header": "value"
},
"body": {
"query": "ETH price"
}
}
Rules:
- Send a full upstream
http://orhttps://URL inurl - Use the upstream HTTP verb in
method - Pass merchant headers as a JSON object when needed
- Pass
bodyonly when the upstream endpoint expects one - The backend enforces agent status and USDC payment limits before paying
- The backend rejects requests when the required payment is
>= 0.1USDC
Example:
curl -sS -X POST "$BASE_URL/agent/pay-and-call" \
-H "Authorization: Bearer $AGENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.example.com/search",
"method": "POST",
"body": {
"query": "BTC"
}
}'
x402 test cases
Use these upstream URLs to quickly test the pay-and-call flow.
Test case 1: random number
Upstream endpoint:
GET /cos/crypto/chainlink/random
Expected response body:
{
"number": 42
}
Example:
curl -sS -X POST "https://api.bankofuniverse.org/agent/pay-and-call" \
-H "Authorization: Bearer $AGENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://skills.bankofuniverse.org/cos/crypto/chainlink/random",
"method": "GET"
}'
Test case 2: crypto price
Upstream endpoint:
GET /cos/crypto/price/:symbol
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-0xcipher0-bou-wallet": {
"enabled": true,
"auto_update": true
}
}
}