> For the complete documentation index, see [llms.txt](https://docs.toolkit.equs.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolkit.equs.ai/docs/presentation/flow-3.md).

# Flow 3 (direct to Backend)

The platform pushes the response straight to an endpoint you host

{% hint style="warning" %}
**Work in progress**

This flow is not yet available. These pages are published so you can design against the flow - check with us before building.
{% endhint %}

**Flow 3 - Direct Post: Wallet → Platform → Backend** starts like [Flow 2](/docs/presentation/flows-1-and-2.md) and ends differently. The wallet posts its encrypted response to the platform, and instead of holding it for you to collect, the platform pushes it straight to an endpoint you host. Your back end owns the journey from there.

Nothing personal is written to platform storage at any point, and the Holder never has to type a code.

```mermaid
flowchart LR
    A["Your back end gets the request<br/>and delivers it"] --> B["Holder approves<br/>in the wallet"]
    B --> C["Wallet posts to the platform,<br/>in flight only"]
    C --> D["Platform pushes the token<br/>to your endpoint"]
    D --> E["Your back end has the platform<br/>verify it and return the values"]
    style C fill:#fff4e5,stroke:#f9ab00
    style E fill:#e6f4ea,stroke:#34a853
```

### At a glance

|                                       |                                                                                             |
| ------------------------------------- | ------------------------------------------------------------------------------------------- |
| **Protocol**                          | OID4VP `direct_post.jwt`                                                                    |
| **Status**                            | Work in progress, not currently available                                                   |
| **Route of the `vp_token`**           | Wallet → platform → pushed to your back end. Never written to disk on the way through       |
| **Personal data in platform storage** | None. The token passes through in flight; claim values exist in memory at verification only |
| **You host**                          | An inbound endpoint that accepts the pushed `vp_token`                                      |
| **Effort**                            | Medium - the endpoint is yours to build, expose and keep available                          |
| **Wallets**                           | EQUS Wallet, and third-party wallets supporting OID4VP `direct_post.jwt`                    |

**Pick this flow** when the journey is driven from your back end rather than a browser - including machine-to-machine cases - when even a bounded encrypted window on the platform is unacceptable, or when you want one flow that reaches every Holder on any device.

**Watch out for** what owning an inbound endpoint means: exposing it to the platform, authenticating the callback, and deciding what happens when it's unavailable at the moment a Holder approves. The Holder has already consented by then, so a failed push is a presentation you asked for and can't collect.

### What you'll do

{% stepper %}
{% step %}

#### Configure

Create a Verifier and a VP Schema - see [Configuration](/docs/presentation/configuration.md). This step is identical for every flow.
{% endstep %}

{% step %}

#### Integrate

Register the endpoint the platform pushes to, then drive the flow from your back end - see [API](/docs/presentation/flow-3/api.md). Embed UI can still present the request to the Holder; only the response path differs.
{% endstep %}

{% step %}

#### Read the result

Every request leaves a verification session - see [Verification Result](/docs/presentation/verification-result.md), and the Flow 3 notes on which states can occur here.
{% endstep %}
{% endstepper %}

### What the Holder does

They scan a QR code or follow a link, then approve. No code to type - the response goes to your endpoint, so nothing has to be tied back to a browser session.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.toolkit.equs.ai/docs/presentation/flow-3.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
