User Tools

Site Tools


This is an old revision of the document!

## Cryptocoin HTTP Micropayments

#### Retrieving payment data for a resource/URI

  • GET <URI>
    • 200 or 402: receives json txout/addr in header.
    • OR second request with content-type: application/micropayment → receives json
  • Uses browser extension to handle bitcoin private keys and sign the txout.
  • POST <URI>
    • content-type: application/micropayment; sends {tx: 'tx', refund: 'addr', etc.}

#### HTTP Header encoded in no-spaces json.

Paying to a txout is more featureful. ``` X-micropayment: {“type”:“btc”,“txout”:“…”} ``` or simply list receiving address ``` X-micropayment: {“type”:“btc”,“addr”:“…”} ```


  • “script” : base64-encoded txout script that must be present in the created transaction.
  • “amount” : bitcoin amount to be sent (optional, in which case the client asks the user).

#### processing payment Fastest: client signs TX, hands to server (no bitcoin network involved). Server can selectively run various checks, including submitting to the bitcoin network and waiting, or trusting valid signature and recent balance.

Post of signed TX is optional. If donation/suggested, one option is to submit the payment and do nothing.

#### Cons

  • payment info in http headers is likely to be lost when content is re-uploaded (eg, uploaded to IPFS).
    • Better to embed in HTML doc
    • other mime types? png/jpeg/mp4
http-micropayments.1445710350.txt.gz · Last modified: 2016/06/25 11:25 (external edit)