# First Payments

In the previous chapter you already made a request to Sugar Daddy to get money on your sandbox account and you made API calls to retrieve the balance on your accounts. If you have that implemented in your application you're already well on your way to manipulate the majority of objects in the bunq API.  We highly recommend you take a look at [API Reference](/api-reference/hidden-references.md) to see all the endpoints we offer.&#x20;

But before we let you go we have to get to the good stuff: making a payment. The reason we make it a separate topic is that we got quite some feedback that people get stuck on something called 'signing'.&#x20;

### What is signing and why does it matter

In short: if you use our API to make a payment you don't want a man-in-the-middle to be able to meddle with your request. If you made a payment for let's say €10, then you don't want anyone to hijack that request and make the payment €12. Signing prevents that from happening as we create a signature that allows the bunq backend to validate that the content of the request has not been tampered with. You can read much more about signing here [Signing](/basics/signing.md). In this tutorial we'll just show you how.&#x20;

## Making a Payment

The API call for making a payment is nothing special (except for the signing) so you can just make a call using the method described below.&#x20;

Some points of attention:&#x20;

* The counterparty is a pointer towards a user [bunq API Objects](/basics/bunq-api-objects.md)
* You can construct your own using json

<pre class="language-json"><code class="lang-json">      {
            "amount": {
                "value": 10,
                "currency": "EUR"
            },
            "counterparty_alias": {
                "type": "EMAIL",
                "value": "sugardaddy@bunq.com",
                "name": "Sugar Daddy"
            },
            "description": "here is your money back"
    }
<strong>    
</strong></code></pre>

## Signing

Now one of the things we need to do before we can actually make the API call is to generate a signature and add it to our \`'X-Bunq-Client-Signature' in the header of the API call.&#x20;

The specifics on how to do that are in [Signing](/basics/signing.md) on that page you'll also find some coding examples. For instance in python [Full signing.py](/basics/signing/python-code-example/full-signing.py.md)

From there it's nothing different than a normal API call and you just post to the endpoint and will receive a ID of the generated payment.&#x20;

{% openapi src="/files/xJ3v0GinyfONRbxz8Srh" path="/user/{userID}/monetary-account/{monetary-accountID}/payment" method="post" %}
[swagger.json](https://346554585-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGE9Y1hc6C24r4Hen6KFH%2Fuploads%2FIUa888wk2qwhos5DXTS3%2Fswagger.json?alt=media\&token=020e751b-2a4b-4993-8247-1f0b9fab0bf5)
{% endopenapi %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.bunq.com/tutorials/your-first-payment/first-payments.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
