Skip to main content

Receipts

Every completed tool execution generates a receipt — your proof of work and payment.

What’s in a Receipt?

{
  "receipt_id": "rcpt_2026020812345",
  "step_id": "step_abc123",
  "run_id": "run_xyz789",
  "tool": "inference_chat",
  "quoted_usdc_microusd": 2400,
  "debited_usdc_microusd": 2400,
  "created_at": "2026-02-08T12:00:00Z"
}

Receipt Fields

FieldDescription
receipt_idUnique receipt identifier
step_idExecution step this receipt covers
run_idParent run identifier
toolTool that was executed
quoted_usdc_microusdOriginal quote amount
debited_usdc_microusdAmount charged
created_atWhen the receipt was issued

Getting Receipts

In Tool Response

Every tool call includes receipt metadata:
{
  "result": {
    "content": "...",
    "_meta": {
      "receipt_id": "rcpt_abc123",
      "debited_usdc_microusd": 85000
    }
  }
}

Query Receipt

Retrieve full receipt details:
curl -X POST https://agent.asgcompute.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "billing_get_receipt",
      "arguments": {
        "receipt_id": "rcpt_abc123"
      }
    }
  }'

Receipt Retention

Receipts are stored for 30 days. Export receipts for accounting purposes before expiration.

Verify a Receipt

Every receipt is independently verifiable — both through the ASG API and directly on the Solana blockchain.

Step 1: Look Up the Receipt

Use the billing_get_receipt tool to retrieve full receipt details by ID:
curl -X POST https://agent.asgcompute.com/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "billing_get_receipt",
      "arguments": {
        "receipt_id": "rcpt_2026020812345"
      }
    }
  }'
Response:
{
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"receipt_id\":\"rcpt_2026020812345\",\"tool\":\"inference_chat\",\"quoted_usdc_microusd\":2400,\"debited_usdc_microusd\":2400,\"tx_signature\":\"5UxK...7nPq\",\"created_at\":\"2026-02-08T12:00:00Z\"}"
      }
    ]
  }
}

Step 2: Verify On-Chain

Every receipt includes a tx_signature field — the Solana transaction signature. Use it to verify the payment on-chain: Solana Explorer URL format:
https://explorer.solana.com/tx/<TX_SIGNATURE>
For example, if tx_signature is 5UxK...7nPq:
https://explorer.solana.com/tx/5UxK...7nPq
Bookmark the Solana Explorer link for quick access: explorer.solana.com

Step 3: Cross-Reference

Verify that the on-chain transaction matches your receipt:
Receipt FieldOn-Chain Check
debited_usdc_microusdAmount transferred matches
tx_signatureTransaction exists and is finalized
created_atTimestamp aligns with block time
All Solana transactions are on mainnet. Ensure you’re viewing the mainnet explorer, not devnet.

Programmatic Verification

For automated verification, you can query the Solana RPC directly:
curl -X POST https://api.mainnet-beta.solana.com \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getTransaction",
    "params": [
      "YOUR_TX_SIGNATURE",
      { "encoding": "json", "maxSupportedTransactionVersion": 0 }
    ]
  }'
This returns the full transaction details including sender, recipient, amount, and confirmation status.