Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Claim and withdraw payments from Metr (metrpay.com) merchant account.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -3% | 0% |
Manage your Metr merchant account — start payment sessions, end (settle) them, and withdraw funds to your wallet.
Metr is a multi-chain payment protocol that lets merchants accept crypto (USDC, SOL, POL, ETH, and custom SPL/ERC-20 tokens) via session-based checkout. Funds are held in escrow during a session and released when the session ends.
https://api.metr.app/v1All API calls require headers:
| Header | Value | When | |--------|-------|------| | x-api-key | Your merchant API key | All merchant endpoints | | x-agent-key | Your agent key | Agent session endpoints |
Store your key securely in Bankr:
METR_MERCHANT_API_KEY = your merchant keyMETR_AGENT_KEY = your agent key (if using agent sessions)Initiate a checkout session for a customer.
Endpoint: POST /v1/integrate/sessions/start
Headers:
Content-Type: application/jsonx-api-key: <your-merchant-key>Body:
json{ "amount": "10.00", "currency": "USDC", "chain": "base", "metadata": { "orderId": "order_12345", "customerEmail": "customer@example.com" } }
Response:
json{ "sessionId": "sess_abc123", "paymentUrl": "https://pay.metr.app/sess_abc123", "status": "pending", "expiresAt": "2026-07-01T12:00:00Z" }
Bankr CLI equivalent:
bashcurl -X POST https://api.metr.app/v1/integrate/sessions/start \ -H "Content-Type: application/json" \ -H "x-api-key: $METR_MERCHANT_API_KEY" \ -d '{ "amount": "10.00", "currency": "USDC", "chain": "base", "metadata": {"orderId": "order_12345"} }'
Release escrowed funds to the merchant wallet once the order is fulfilled.
Endpoint: POST /v1/integrate/sessions/{sessionId}/end
Headers:
Content-Type: application/jsonx-api-key: <your-merchant-key>Body:
json{ "reason": "fulfillment_complete", "metadata": { "deliveredAt": "2026-07-01T10:30:00Z" } }
Response:
json{ "sessionId": "sess_abc123", "status": "settled", "settledAt": "2026-07-01T10:30:05Z", "txHash": "0x..." }
Bankr CLI equivalent:
bashcurl -X POST "https://api.metr.app/v1/integrate/sessions/$SESSION_ID/end" \ -H "Content-Type: application/json" \ -H "x-api-key: $METR_MERCHANT_API_KEY" \ -d '{"reason": "fulfillment_complete"}'
For AI-agent-initiated payments (e.g., an agent buying a service on behalf of a user).
Endpoint: POST /v1/agents/sessions/start
Headers:
Content-Type: application/jsonx-api-key: <your-merchant-key>x-agent-key: <your-agent-key>Body:
json{ "amount": "5.00", "currency": "USDC", "chain": "solana", "agentId": "agent_001", "metadata": { "service": "api_call", "tier": "premium" } }
Endpoint: POST /v1/agents/sessions/{sessionId}/end
Headers:
Content-Type: application/jsonx-api-key: <your-merchant-key>x-agent-key: <your-agent-key>Body:
json{ "reason": "service_delivered", "metadata": {} }
Metr does not expose a direct "claim" API endpoint. Instead:
txHash in the end-session response is your on-chain proof.session.settled — funds released to merchant walletwithdrawal.completed — manual withdrawal finished| Chain | Native Token | Stablecoins | Custom Tokens | |-------|-------------|-------------|---------------| | Solana | SOL | USDC | SPL tokens | | Polygon | POL | USDC | ERC-20 tokens | | Base | ETH | USDC | ERC-20 tokens |
Common HTTP status codes from Metr API:
| Code | Meaning | Action | |------|---------|--------| | 400 | Bad Request | Check request body schema | | 401 | Unauthorized | Verify x-api-key is correct | | 403 | Forbidden | Key lacks permission for this action | | 404 | Session Not Found | Double-check sessionId | | 409 | Session Already Ended | Idempotency — session is already settled | | 422 | Validation Error | Amount too small, unsupported chain, etc. | | 500 | Internal Error | Retry or contact Metr support |
1. Customer places order on your site
2. You call POST /v1/integrate/sessions/start
3. You redirect customer to paymentUrl
4. Customer pays via Metr checkout
5. You fulfill the order (ship product, run service, etc.)
6. You call POST /v1/integrate/sessions/{id}/end
7. Funds are released to your merchant wallet
8. (Optional) You withdraw from dashboard to cold storageOther measured skills in the registry, with their headline benchmark lift.