unopost

x402 API

Brief per Code versenden, in USDC zahlen

Apps und KI-Agenten können einen Brief an jede Adresse in Australien versenden und pro Brief in USDC über x402 zahlen. Kein Konto, kein API-Schlüssel, kein Abo: nur eine Wallet und ein HTTP-Client.

10 USDC pro Brief per Standardpost20 USDC pro Brief per Express Post

Ein Preis für bis zu 20 Seiten flach, inkl. GST. Bezahlt in USDC auf Base, Gas übernehmen wir.

SchnellstartOpenAPI-Spezifikation

Warum Briefe über x402 versenden?

Derselbe Brief wie auf der Website, bezahlt über HTTP.

  • Kein Konto, kein API-Schlüssel Keine Registrierung. Ihr Code legt einen Brief an, erhält einen Preis und zahlt mit einer signierten USDC-Zahlung.
  • Ein fester Preis pro Brief 20 USDC per Express Post, flach im B4-Umschlag, oder 10 USDC per Standardpost, gefaltet für den Briefkasten: Darin enthalten sind Druck, Umschlag, Porto und Sendungsverfolgung für bis zu 12 Seiten gefaltet oder 20 flach, danach 0.30 USDC pro Seite. Inkl. GST, und das Gas übernehmen wir.
  • Derselbe Brief wie auf der Website Gedruckt wie hochgeladen auf A4 mit 80 g/m², mit Sendungsverfolgung, und noch am selben Werktag aufgegeben, wenn bis 14:30 Uhr Melbourner Zeit bezahlt wird.
  • Erstattung, wenn der Versand nicht möglich ist Können wir den Brief nicht aufgeben, erstatten wir der zahlenden Wallet den vollen Betrag in USDC. Ein Brief, den wir stornieren, wird genauso erstattet.

Für wen es gedacht ist

  • KI-Agenten Ein Agent, der einen Streit um eine Mietkaution, einen Versicherungsfall oder eine Beschwerde bei der Gemeinde bearbeitet, kann den Brief selbst versenden und aus der eigenen Wallet zahlen.
  • Apps und Skripte Software für Hausverwaltung, Recht und Abrechnung, die Briefe versendet, ohne Händlerkonto und ohne Monatstarif.

Schnellstart

  1. Brief anlegen
  2. Dokument hochladen
  3. Brief abrufen
  4. Bezahlen und versenden
  5. Den Brief verfolgen

Fünf Anfragen bringen einen Brief aus Ihrem Code zur Post. Es gibt kein Konto und keinen Schlüssel: Die Zahlung ist alles, was wir brauchen.

send-letter.sh
# 1. Create the letter
curl -X POST https://unopost.com.au/api/x402 \
  -H "Content-Type: application/json" \
  -d '{
  "fileName": "notice.pdf",
  "recipient": {
    "name": "Ruth Mitchell",
    "line1": "7 High Street",
    "suburb": "Echuca",
    "postcode": "3564"
  },
  "sender": {
    "name": "Sam Nguyen",
    "company": "Nguyen Property",
    "line1": "14 Carnarvon Street",
    "suburb": "Broome",
    "postcode": "6725"
  },
  "service": "express",
  "signature": true
}'

# 2. Upload the document to the uploadUrl you got back
curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/pdf" \
  --data-binary @notice.pdf

# 3. Poll until the status is ready_to_send, and check the price
curl https://unopost.com.au/api/x402/$JOB_ID

# 4. Ask to send it: the 402 says what to pay
curl -i -X POST https://unopost.com.au/api/x402/$JOB_ID/send

# 5. Sign the payment with an x402 client, and send it again
curl -i -X POST https://unopost.com.au/api/x402/$JOB_ID/send \
  -H "PAYMENT-SIGNATURE: $PAYMENT_SIGNATURE"

Endpunkte

Endpunkte sind relativ zu https://unopost.com.au. Anfragen und Antworten sind JSON; Fehler haben die Form {"error": "..."}. Vollständige Referenz: die OpenAPI-Spezifikation.

Basis-URL
https://unopost.com.au

Brief anlegen

POST/api/x402

Senden Sie per POST den Dateinamen, die Adresse des Empfängers und Ihre Absenderadresse. Sie erhalten eine jobId, eine signierte uploadUrl und URLs, um den Brief abzufragen und zu bezahlen.

Anfrage-Body

fileNamestring · erforderlich
Der Dateiname mit Endung: .pdf, .doc, .docx, .jpg, .jpeg oder .png.
recipientAddress · erforderlich
Die Adresse, an die der Brief geht.
senderAddress · erforderlich
Ihre Absenderadresse. Sie wird auf den Umschlag gedruckt, damit unzustellbare Post zu Ihnen zurückkommt.
servicestring · optional
"express" für Express Post (Standard) oder "regular" für Standardpost.
duplexboolean · optional
Beidseitig drucken. Standard ist false. Eidesstattliche Erklärungen (Statutory Declarations) werden immer einseitig gedruckt.
monoboolean · optional
In Schwarz-Weiß drucken. Standard ist false: Ein Dokument, das Farbe enthält, wird in Farbe gedruckt.
stapleboolean · optional
Die Seiten einmal oben links heften. Nur für Dokumente mit bis zu 12 Seiten; ein längeres wird bei der Preisberechnung abgelehnt. Standard ist false.
foldboolean · optional
Nur Express Post: den Brief in einen C5-Umschlag falten, statt ihn flach im B4-Umschlag zu versenden, ohne Aufpreis. Wird bei Dokumenten mit mehr als 20 Seiten ignoriert; sie gehen flach. Briefe per Standardpost werden immer gefaltet.
signatureboolean · optional
Unterschrift bei Zustellung, 6 USDC zusätzlich, bei beiden Versandarten. Mit regular geht der Brief als Einschreiben.

Adresse

Der Empfänger muss in Australien sein. Die Absenderadresse kann überall liegen: Geben Sie ihr Land an, dann wird ihre Postleitzahl optional. Jede Zeile darf bis zu 40 Zeichen lang sein.

namestring · optional
Der vollständige Name der Person.
companystring · optional
Ein Unternehmen oder eine Organisation.
line1string · erforderlich
Die Straßenadresse oder eine PO Box, etwa "PO Box 123".
line2string · optional
Eine zweite Adresszeile.
suburbstring · erforderlich
Der Vorort oder Ort.
statestring · optional
In Australien weglassen: Er ergibt sich aus der Postleitzahl. Falls angegeben, einer der Werte ACT, NSW, NT, QLD, SA, TAS, VIC oder WA, passend zur Postleitzahl.
postcodestring · erforderlich
Vier Ziffern.
countrystring · optional
Nur für die Absenderadresse. Für Australien weglassen.
Anfrage
curl -X POST https://unopost.com.au/api/x402 \
  -H "Content-Type: application/json" \
  -d '{
  "fileName": "notice.pdf",
  "recipient": {
    "name": "Ruth Mitchell",
    "line1": "7 High Street",
    "suburb": "Echuca",
    "postcode": "3564"
  },
  "sender": {
    "name": "Sam Nguyen",
    "company": "Nguyen Property",
    "line1": "14 Carnarvon Street",
    "suburb": "Broome",
    "postcode": "6725"
  },
  "service": "express",
  "signature": true
}'
Antwort 200
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "uploadUrl": "https://unopost.com.au/uploads/019d7a7f-a183-752d-9b3b-11511179033b/notice.pdf?Expires=...&Signature=...&Key-Pair-Id=...",
  "statusUrl": "/api/x402/019d7a7f-a183-752d-9b3b-11511179033b",
  "sendUrl": "/api/x402/019d7a7f-a183-752d-9b3b-11511179033b/send",
  "status": "awaiting_upload"
}

Dokument hochladen

PUTuploadUrl

Senden Sie die rohen Bytes der Datei innerhalb von 15 Minuten per PUT an uploadUrl. Bis zu 50 MB und 80 Seiten. Der Satz auf A4 beginnt, sobald der Upload eingeht; ein weiterer Aufruf ist nicht nötig.

Anfrage
curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/pdf" \
  --data-binary @notice.pdf

Brief abrufen

GET/api/x402/{jobId}

Auf den Preis warten

Fragen Sie alle paar Sekunden ab, bis status den Wert ready_to_send hat. Die Antwort enthält dann die Seitenzahl, den Preis in payment, die sendUrl und eine previewUrl für das druckfertige PDF, das Sie vor dem Bezahlen prüfen können.

fold richtet sich jetzt nach der Versandart, true für Standardpost und false für Express Post, und duplex kann false sein: Eidesstattliche Erklärungen werden einseitig gedruckt. Ein Brief per Standardpost mit mehr als 12 Seiten wird bei der Preisberechnung abgelehnt.

Den Brief verfolgen

Fragen Sie weiter ab, in größeren Abständen, bis der Brief posted und dann delivered ist. Es gibt keine E-Mails; jede Aktualisierung erscheint im Status.

Anfrage
curl https://unopost.com.au/api/x402/$JOB_ID
Antwort 200 · ready_to_send
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "service": "express",
  "duplex": false,
  "mono": false,
  "fold": false,
  "signature": true,
  "recipient": {
    "name": "Ruth Mitchell",
    "line1": "7 High Street",
    "suburb": "Echuca",
    "postcode": "3564"
  },
  "sender": {
    "name": "Sam Nguyen",
    "company": "Nguyen Property",
    "line1": "14 Carnarvon Street",
    "suburb": "Broome",
    "postcode": "6725"
  },
  "pageCount": 3,
  "status": "ready_to_send",
  "previewUrl": "/preview/019d7a7f-a183-752d-9b3b-11511179033b/notice.pdf?Expires=...&Signature=...&Key-Pair-Id=...",
  "payment": {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amountAtomic": "20000000",
    "amountDisplay": "20 USDC",
    "payTo": "0x1111111111111111111111111111111111111111",
    "expiresAt": "2026-09-25T02:15:00Z"
  },
  "sendUrl": "/api/x402/019d7a7f-a183-752d-9b3b-11511179033b/send"
}
Antwort 200 · posted
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "service": "express",
  "duplex": false,
  "mono": false,
  "fold": false,
  "signature": true,
  "recipient": {
    "name": "Ruth Mitchell",
    "line1": "7 High Street",
    "suburb": "Echuca",
    "postcode": "3564"
  },
  "sender": {
    "name": "Sam Nguyen",
    "company": "Nguyen Property",
    "line1": "14 Carnarvon Street",
    "suburb": "Broome",
    "postcode": "6725"
  },
  "pageCount": 3,
  "status": "posted",
  "providerReference": "LTR-8F3A21C9"
}

Bezahlen und versenden

POST/api/x402/{jobId}/send

Senden Sie einen POST an sendUrl ohne Zahlung. Die Antwort ist 402 Payment Required, mit den base64-kodierten Zahlungsanforderungen im Header PAYMENT-REQUIRED.

Signieren Sie die Zahlung, wie es das x402-Protokoll beschreibt (oder überlassen Sie das einer x402-Client-Bibliothek), und senden Sie die Anfrage erneut, mit der Payload in einem Header PAYMENT-SIGNATURE. Wir prüfen die Zahlung und wickeln sie ab, und der Brief geht in den Druck. Der Header PAYMENT-RESPONSE enthält die Abwicklung.

Sie erhalten 409 mit job not ready to send kurz nach ready_to_send? Warten Sie einen Moment und versuchen Sie es erneut. Ein erneuter Aufruf nach dem Bezahlen gibt den Status zurück, ohne doppelt zu berechnen.

Anfrage
curl -i -X POST https://unopost.com.au/api/x402/$JOB_ID/send
Antwort 402
HTTP/2 402
payment-required: eyJ4NDAyVmVyc2lvbiI6Mi...

{
  "error": "payment required"
}
Header PAYMENT-REQUIRED, base64-dekodiert
{
  "x402Version": 2,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "20000000",
      "payTo": "0x1111111111111111111111111111111111111111",
      "maxTimeoutSeconds": 300,
      "extra": {
        "name": "USD Coin",
        "version": "2"
      }
    }
  ]
}
Anfrage
curl -i -X POST https://unopost.com.au/api/x402/$JOB_ID/send \
  -H "PAYMENT-SIGNATURE: $PAYMENT_SIGNATURE"
Antwort 202
HTTP/2 202
payment-response: eyJzdWNjZXNzIjp0cnVlLC...

{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "status": "sending"
}

Status

awaiting_upload
Wartet auf die Datei.
processing
Das Dokument wird auf A4 gesetzt und der Preis berechnet.
ready_to_send
Preis berechnet, wartet auf die Zahlung. Das Angebot gilt 7 Tage.
sending
Bezahlt und in der Druckwarteschlange.
retrying
Beim Druck gab es ein Problem; wir versuchen es automatisch erneut.
posted
Gedruckt und bei Australia Post aufgegeben.
delivered
Von Australia Post zugestellt. Das Dokument wurde bei der Aufgabe gelöscht.
failed
Nicht aufgegeben; der Grund steht in error, etwa ein Angebot, das unbezahlt abgelaufen ist. Ein bezahlter Brief, der nicht aufgegeben werden kann, wird vollständig erstattet.
refunded
Die Zahlung ist an die Wallet zurückgegangen, die sie geleistet hat.

Fehler

400
Ungültige Anfrage: zum Beispiel ein fehlendes Feld, ein nicht unterstützter Dateityp, eine Adresszeile mit mehr als 40 Zeichen, eine Postleitzahl außerhalb des Bundesstaats, Unterschrift bei Zustellung mit Standardpost, oder ein Brief per Standardpost mit mehr als 12 Seiten.
402
Eine Zahlung ist erforderlich, oder die Zahlung konnte nicht geprüft oder abgewickelt werden. error nennt den Grund.
404
Es gibt keinen Brief mit dieser jobId.
409
job not ready to send: Warten Sie auf ready_to_send und versuchen Sie es erneut. quote expired: Legen Sie den Brief neu an.

Häufig gestellte Fragen

Was ist x402?

Ein offenes Protokoll für Zahlungen über HTTP. Der Server antwortet mit 402 Payment Required und einem Preis; der Client signiert eine Stablecoin-Zahlung und sendet die Anfrage erneut. Ohne Konto, Karte oder Rechnung.

Was brauche ich?

Eine Wallet auf Base mit ausreichend USDC und einen HTTP-Client. ETH für Gas brauchen Sie nicht: Die Zahlung ist eine signierte Autorisierung einer USDC-Überweisung, und wir übernehmen die Netzwerkgebühr.

Was kostet ein Brief?

20 USDC per Express Post für bis zu 20 Seiten, danach 0.30 USDC pro Seite, oder 10 USDC per Standardpost für einen Brief mit bis zu 12 Seiten, inkl. GST. Die Unterschrift bei Zustellung kostet bei beiden Versandarten 6 USDC zusätzlich; Standardpost mit Unterschrift ist ein Einschreiben, 16 USDC. Sendungsverfolgung, beidseitiger Druck und Schwarz-Weiß-Druck, das Heften bis 12 Seiten sowie das Falten eines Express-Post-Briefs in einen DL-Fensterumschlag sind kostenlos. Die Statusantwort zeigt den genauen Preis, bevor Sie bezahlen.

Kann ich den Brief vor dem Bezahlen prüfen?

Ja. Sobald er bereit zum Senden ist, zeigt previewUrl auf das druckfertige PDF, auf A4 gesetzt, genau so, wie es gedruckt wird. Berechnet wird erst, wenn Sie bezahlen.

Wann wird der Brief aufgegeben, und wie lange braucht er?

Briefe, die an einem Werktag bis 14:30 Uhr Melbourner Zeit bezahlt werden, werden noch am selben Tag aufgegeben; spätere am nächsten Werktag. Express Post kommt innerhalb des Express-Post-Netzes meist am nächsten Werktag an, Standardpost in 3 bis 7 Werktagen.

Was, wenn der Brief nicht aufgegeben werden kann?

Sein Status wechselt zu failed, und wir erstatten der zahlenden Wallet den vollen Betrag in USDC, ob der Brief fehlgeschlagen ist oder wir ihn storniert haben. Bei allem anderen schreiben Sie mit der jobId an support@unopost.com.au.

Was geschieht mit meinem Dokument?

Es ist bei der Übertragung verschlüsselt und wird samt seiner druckfertigen Kopie dauerhaft gelöscht, sobald der Brief bei Australia Post aufgegeben ist. Wird ein Brief nicht bezahlt oder kann er nicht aufgegeben werden, wird das Dokument nach 14 Tagen gelöscht.

Wohin können Briefe gehen?

An jede Adresse in Australien, auch an Postfächer (PO Boxes), in allen Bundesstaaten und Territorien. Ins Ausland versendet die API nicht.

Wer ist dafür verantwortlich, was ein Agent versendet?

Sie. Jeder aus Ihrer Wallet bezahlte Brief ist Ihrer, auch einer, den ein Agent auf Ihre Anweisung geschrieben und versendet hat, und Sie müssen berechtigt sein, den Inhalt zu versenden. Unsere Nutzungsbedingungen führen auf, was nicht in die Post darf: Identitätstäuschung, Belästigung, Betrug, unverlangte Massenwerbung und alles, was gegen eine gerichtliche Anordnung verstößt. Briefe, die gegen diese Regeln verstoßen, stornieren wir und erstatten sie vollständig. Versenden Sie im Auftrag eines anderen, sind Sie für dessen Dokument verantwortlich, als wäre es Ihr eigenes.

Preise

LeistungPreis
Standardpost, gefaltet, passt in den Briefkasten: bis zu 12 Seiten10 USDC
Einschreiben, Standardpost mit Unterschrift bei Zustellung: bis zu 12 Seiten16 USDC
Express Post, flach im B4-Umschlag: 20 Seiten inklusive, danach 0.30 USDC je weitere Seite20 USDC
Express Post mit Unterschrift bei Zustellung: 20 Seiten inklusive, danach 0.30 USDC je weitere Seite26 USDC
Sendungsverfolgung, Farbdruck, beidseitiger oder Schwarz-Weiß-Druck und HeftenKostenlos
Netzwerkgebühr (Gas)Übernehmen wir

Die Preise sind in USDC auf Base. Der Preis steht fest, sobald Ihr Dokument auf A4 gesetzt ist; Angebote gelten 7 Tage.

Die Preise können sich ändern. Für die Nutzung dieses Dienstes gelten unsere Nutzungsbedingungen und unsere Datenschutzerklärung.